Skip to main content

Oracle NetSuite Integration

UAE E-Invoicing for Oracle NetSuite

TrustBill connects your NetSuite account to the UAE FTA e-invoicing network through Microvista Technologies, an FTA-accredited ASP. Start with a simple export, or push invoices automatically from NetSuite. No ERP migration required.

How TrustBill connects to Oracle NetSuite

NetSuite is a cloud product, so it needs no gateway or agent on a local machine. TrustBill takes your sales invoices and credit memos, validates them against the FTA business rules, converts them to PINT-AE, submits them through an FTA-accredited ASP over the Peppol network, and returns the FTA UUID and status.

There are three ways to feed NetSuite invoices to TrustBill. Export and upload works today with nothing to install. Pushing from NetSuite, using a script in your own account or your integration platform such as Celigo, Boomi or Workato, also works today through the TrustBill Partner API. A native connector that pulls from NetSuite is scoped per customer on request. We do not describe it as generally available.

Which method fits your NetSuite account

Option A, export and upload: a Saved Search exports posted invoices to CSV or Excel, and you upload the file to TrustBill. It takes hours to set up and suits pilots and lower volumes.

Option B, push from NetSuite: a script or integration flow sends each approved invoice to TrustBill and writes the FTA UUID and status back to the invoice. It typically takes one to two weeks of NetSuite developer or partner time and suits most mid-size accounts.

Option C, native pull connector: TrustBill reads invoices from NetSuite using REST web services and SuiteQL with OAuth 2.0 or token-based authentication. Scope, timeline and price are agreed after you answer the short NetSuite questionnaire.

Setup guide

1. Choose the option — Answer the NetSuite questionnaire if you are unsure; we reply with a recommendation. 2. Populate TRNs — Store the 15-digit TRN on each customer and on each UAE subsidiary. 3. Map tax codes — Map every NetSuite tax code you use to a PINT-AE category: S, Z, E, O or RC. 4. Create status fields — Add FTA status, FTA UUID and reject-reason fields to invoices and credit memos (Options B and C). 5. Test in the sandbox — Run the UAT cases from the technical guide with sample invoices. 6. Go live — Switch to live credentials and ramp up over the first days.

The technical guide contains the full API details, a script skeleton, the signed-webhook procedure and a UAT checklist.

PINT-AE compliance for NetSuite invoices

NetSuite stores invoices in its own record structure, which differs from the PINT-AE UBL profile. TrustBill converts every field the FTA requires: invoice number and date, seller and buyer TRN, line details, VAT category and rate, and UAE-specific indicators such as free zone and reverse charge.

Each converted invoice is validated before submission, so problems such as a missing buyer TRN, an unmapped tax code or a line total that does not reconcile are caught and reported with a clear reason, instead of being rejected later by the network. Rejections come back as a status you can write onto the NetSuite invoice.

NetSuite field → PINT-AE mapping

The mapping TrustBill applies when converting a NetSuite transaction to PINT-AE. Standard NetSuite field IDs are shown; custom fields such as custentity_trn are examples, because each account names its own.

NetSuite fieldPINT-AE / UBL 2.1 fieldNote
transaction.tranid (Document Number)cbc:IDMust be unique per TRN.
transaction.trandatecbc:IssueDateISO date. Must not be in the future.
customer tax registration field or custentity_trncac:AccountingCustomerParty/cac:PartyTaxScheme/cbc:CompanyIDBuyer TRN, 15 digits. Required for B2B UAE invoices.
subsidiary tax registration number (OneWorld)cac:AccountingSupplierParty/cac:PartyTaxScheme/cbc:CompanyIDYour TRN. One per subsidiary that holds a TRN.
line description / item display namecac:Item/cbc:Name or cbc:DescriptionUTF-8; Arabic text is supported.
line quantity × ratecbc:InvoicedQuantity, cac:Price/cbc:PriceAmount, cbc:LineExtensionAmountRate excludes tax.
line tax code (SuiteTax or classic)cac:ClassifiedTaxCategory (S = 5%, Z = 0%, E = exempt, O = out of scope, RC = reverse charge)Each NetSuite tax code must map to one category.
transaction currency, exchangeratecbc:DocumentCurrencyCodeAED for domestic. Non-AED needs the exchange rate.
total, taxtotalcac:LegalMonetaryTotal/cbc:PayableAmountReconciled against line totals plus tax.
customer free-zone custom fieldExtension flag; VAT category derivedSet once on the customer record.
credit memo createdfromcbc:InvoiceTypeCode="381"; cac:BillingReference/cac:InvoiceDocumentReferenceCreate credit memos from the invoice so the parent is linked.

Common NetSuite → PINT-AE validation errors

The validation errors most often hit by NetSuite-sourced invoices, and what to fix on the NetSuite side. TrustBill returns these codes in the dashboard and through the status webhook.

Error codeMeaningFix in NetSuite
PAE-BR-01Buyer TRN missing or malformed.Customer record: enter the 15-digit TRN in the tax registration field or your TRN custom field.
PAE-BR-04Seller TRN missing.OneWorld: enter the tax registration number on the subsidiary. Single company: on the company information record.
PAE-BR-11Line total does not equal quantity × price.Correct rounding on quantity or rate so the line reconciles. Check item rounding settings if it recurs.
PAE-BR-12Tax code not mapped to a PINT-AE category.Map each NetSuite tax code to S, Z, E, O or RC in TrustBill Settings, Tax Mapping.
PAE-BR-14Currency is not AED and no exchange rate is supplied.Make sure the invoice has both currency and exchange rate. Check currency rates for the invoice date.
PAE-BR-21Credit memo has no valid parent invoice.Create the credit memo from the invoice (Actions, Credit) rather than as a standalone record.
PAE-BR-31Free-zone flag set without a supply-place address in the zone.Set the free-zone field on the customer and check the ship-to address is in the free zone.

OneWorld, subsidiaries and multiple TRNs

Each NetSuite subsidiary that holds a UAE TRN becomes its own legal entity in TrustBill with its own credentials, and your flow selects the right one by subsidiary. A UAE VAT group uses the group TRN as the seller TRN on member invoices; confirm the treatment with your tax adviser. Subsidiaries outside the UAE are not connected.

Pricing and timeline

Export and upload can start the same day. Pushing from NetSuite typically takes one to two weeks of NetSuite developer time. A native connector is scoped after the questionnaire, with the timeline and price confirmed by email.

Published pricing for ERP integrations is on the ERP integration pricing page, and invoice credit plans are on the pricing page.

Need Oracle NetSuite connected to FTA e-invoicing?

Answer a short questionnaire (about 5 minutes). We review your setup and reply by email with the integration plan, timeline and price.

Request Oracle NetSuite integration

Frequently Asked Questions

Is Oracle NetSuite cloud or on-premise?

NetSuite is cloud-only. The on-premise Oracle products are E-Business Suite and JD Edwards. Oracle Fusion Cloud ERP is a separate cloud product with its own guide.

Does TrustBill have a native NetSuite connector?

Not as a generally available product today. You can connect now by exporting and uploading, or by pushing invoices from NetSuite through a script or integration platform. A native connector is scoped per customer on request.

Do I need to install anything in NetSuite?

No SuiteApp is needed. Export and upload needs nothing installed. Pushing from NetSuite uses scripts or flows that run in your own account.

Where do I keep the customer TRN in NetSuite?

In the customer's tax registration field or in a custom field. It must be 15 digits. The questionnaire asks where you keep it so we can map it.

Can you handle several subsidiaries with different TRNs?

Yes. Each subsidiary with a UAE TRN is its own legal entity in TrustBill, with its own credentials.

What happens if an invoice is rejected?

TrustBill returns a rejected status with a reason. You can write it onto the NetSuite invoice, fix the cause, and resubmit, or issue a credit memo where the rules require one.

Is it secure?

Calls use HTTPS with a key pair and a per-entity secret, and status webhooks are signed. We ask only for a least-privilege integration role in NetSuite, and never for passwords through the request form.

Related guides and integrations