Skip to main content

Microsoft Dynamics 365 Business Central

GoRoute E-Invoicing is a Business Central app built on Microsoft's E-Document framework. Post a sales invoice or credit memo as you always have; the app hands it to GoRoute, which validates it against your country's rules, issues it in the format your country requires and delivers it to the buyer. Delivery status, any rejection reason and the e-invoice ID come back onto the posted document.

The app follows your company's country (Company Information β†’ Country/Region Code). You do not choose a format: GoRoute picks it from the seller's and the buyer's countries.

This guide covers the supported countries, setup, how sending works, what each status means, and troubleshooting. It is the page the app's Help links point to.

Supported countries​

Company countryWhat GoRoute issuesTax ID the app asks forYour Peppol IDBuyer not on Peppol
OmanPINT OM, reported to the Oman Tax Authority (Fawtara)VATIN, OM + 10 digits0248: VATINReported under the Tax Authority's substitute address; never emailed
BelgiumPeppol BIS Billing 3.0VAT number, BE + 10 digits (check digits verified)0208: enterprise numberNot allowed: Belgian B2B invoices go over Peppol only
NetherlandsPeppol BIS Billing 3.0 (Dutch rules)VAT number, NL…B019944: VAT numberIssued for email, EN 16931 PDF
GermanyPeppol BIS Billing 3.0; XRechnung when a public buyer asks for itUSt-IdNr., DE + 9 digits9930: VAT numberIssued for email, ZUGFeRD PDF
NorwayEHF Billing 3.0 (Peppol BIS 3.0 with the Norwegian rules)Organisation number, 9 digits (check digit verified)0192: organisation numberIssued for email, EN 16931 PDF
AustriaPeppol BIS Billing 3.0VAT number, ATU + 8 digits9914: VAT numberIssued for email, ZUGFeRD PDF
EstoniaPeppol BIS Billing 3.0VAT number, EE + 9 digits9931: VAT numberIssued for email, EN 16931 PDF
FinlandPeppol BIS Billing 3.0VAT number, FI + 8 digits0216: OVT code (0037 + business ID)Issued for email, EN 16931 PDF
IrelandPeppol BIS Billing 3.0VAT number, IE…9935: VAT numberIssued for email, EN 16931 PDF
LatviaPeppol BIS Billing 3.0VAT number, LV + 11 digits9939: VAT numberIssued for email, EN 16931 PDF
LithuaniaPeppol BIS Billing 3.0VAT number, LT + 9 or 12 digits9937: VAT numberIssued for email, EN 16931 PDF
LuxembourgPeppol BIS Billing 3.0VAT number, LU + 8 digits9938: VAT numberIssued for email, EN 16931 PDF
SwedenPeppol BIS Billing 3.0VAT number, SE + 10 digits + 010007: organisation numberIssued for email, EN 16931 PDF
United KingdomPeppol BIS Billing 3.0VAT number, GB + 9 or 12 digits9932: VAT numberIssued for email, EN 16931 PDF

For any other country the setup page says, in words, that GoRoute does not issue e-invoices for that country from Business Central yet, and the app refuses to configure or send rather than half-working. Australia and New Zealand (PINT A-NZ) are not released in the Business Central app yet; GoRoute's WooCommerce, Shopify and Wix apps and the API serve them today. Denmark and Iceland need their national legal identifiers written with their scheme, and Singapore needs PINT SG, which GoRoute does not produce yet. Italy, Poland, France and the countries with their own tax-authority systems (Spain, Portugal, Hungary, Romania, Greece, Croatia, Saudi Arabia, Malaysia) are not reached through Peppol. Nigeria is served by GoRoute's separate Nigeria service, not from Business Central.

Per-country notes​

  • Oman. A new Omani company is pointed at GoRoute's Oman cell automatically. Zero-rated and exempt lines carry the Tax Authority's reason code from the VAT Category Map (VATZR-OM-01 for qualifying food, VATEX-OM-… for exempt supplies). A credit memo cites the original invoice and its e-invoice ID (UUID), as the Oman rules require. A sale to a buyer abroad is sent as an export document; exports need line classification codes (item type, HS or service type code) that the app does not carry yet, and GoRoute refuses them in words. The Send as B2C (Simplified + QR) action exists only for Omani companies.
  • Belgium. Since 1 January 2026 Belgian businesses must exchange e-invoices over Peppol, so there is no email fallback. The Check Peppol Participant action tries the buyer's enterprise number (0208) and then its VAT number (9925) and tells you which one they are registered under.
  • Germany. An invoice from a German company to a German buyer must name a seller contact (Peppol rule DE-R-002): the app refuses to post it without a Phone No. or E-Mail in Company Information. For a public-sector buyer, put its Leitweg-ID in the sales document's Your Reference and its Peppol ID (0204: + Leitweg-ID) in the customer's Peppol ID (GoRoute); GoRoute switches to XRechnung when the buyer advertises it. A buyer not on Peppol gets a ZUGFeRD PDF by email (see below).
  • Norway. An AS or ASA must state Foretaksregisteret on its invoices: enter it as the Tax Registration Statement on the setup page (EHF rule NO-R-002). The organisation number is used as both the Peppol ID and the legal identifier.
  • Sweden. An F-tax-approved company enters GodkΓ€nd fΓΆr F-skatt as the Tax Registration Statement.
  • Everywhere outside Oman. The app sends the VAT breakdown with a reason for every exempt, reverse-charge, export or out-of-scope amount, the date of supply, the seller contact and, when Company Information has an IBAN, the bank account to pay into. A line posted with VAT Calculation Type Reverse Charge VAT is sent as reverse charge without any mapping.

Who it is for​

Companies in one of the supported countries running Business Central online, version 26.0 (2025 release wave 1) or later. One Business Central company is one taxpayer: the API key, the country and the tax ID are per company, so a tenant with several companies files each under its own identity.

Before you start​

  • A GoRoute account and an API key from the GoRoute dashboard (API Keys). The app is free; documents are billed to your GoRoute account.
  • Company Information β†’ Country/Region Code set to your company's country.
  • Your company's tax ID (the VAT number, VATIN or organisation number from the table), either in Company Information (VAT Registration No.) or on the app's setup page.
  • The GoRoute E-Invoicing permission set assigned to the users who post sales documents (it grants everything the app needs; SUPER is not required).

Setup​

Search for GoRoute E-Invoicing Setup.

  1. Country β€” the page shows your company's country and what GoRoute issues for it. If it says GoRoute does not issue e-invoices for your country yet, stop here: nothing else on the page will configure.

  2. API Address β€” leave it as the page fills it in (https://app.goroute.ai/peppol-api, or GoRoute's Oman cell for an Omani company) unless GoRoute support says otherwise.

  3. API Key β€” paste it once. It is stored in Business Central's isolated storage, never in a table, and is not shown again.

  4. Seller tax ID β€” called what your country calls it (VAT number, VATIN, organisation number). The app checks its format and check digit and tidies it (0000.000.592 becomes BE0000000592). Company Information is the fallback. Seller Peppol ID is only for a company registered on Peppol under a different identifier; leave it empty otherwise.

  5. Test Connection β€” proves the key before an invoice depends on it.

  6. Set up e-document workflow β€” one click. It creates or repairs, in this company:

    • the e-document service GOROUTE (document format GoRoute (format chosen by country), service integration GoRoute, batch processing off);
    • the supported document types Sales Invoice and Sales Credit Memo;
    • the workflow GRT-GOROUTE: E-Document Created β†’ Send E-Document using service GOROUTE, enabled;
    • the document sending profile GOROUTE, set to Extended E-Document Service Flow with that workflow.

    The button asks for consent first, because from then on posted documents for customers on that profile leave Business Central for GoRoute.

  7. Check readiness β€” every precondition on one screen, OK or MISSING, starting with the country, and including the job queue and the sandbox guard. Run it whenever a posting did not send.

  8. Put each customer who should receive e-invoices on the GOROUTE Document Sending Profile β€” on the customer card, or with the card's Send e-invoices via GoRoute action. The customer's VAT Registration No. and Country/Region Code decide its Peppol ID; set Peppol ID (GoRoute) on the card only when the customer receives under another identifier (a Leitweg-ID, a KvK number, a GLN).

  9. Optional: VAT Category Map β€” declare what each zero-tax VAT product posting group means (zero-rated, exempt, out of scope, export, reverse charge) and the exemption reason the e-invoice states. In Oman, add the Tax Authority's reason code; elsewhere a VATEX code is optional and the reason text is what the rules read.

How sending works​

Posting is sending. When a sales invoice or credit memo is posted for a customer on the GOROUTE sending profile:

  1. Business Central creates an E-Document for the posting and queues its workflow.
  2. The workflow response hands the document to the GoRoute service integration, which builds the GoRoute canonical JSON (never a private copy of any country's rules: validation, the document itself, and in Oman the Tax Authority document and QR, are GoRoute's job) and calls POST /api/v1/invoices with an idempotency key of company id
    • document number, so a retried send never creates a duplicate.
  3. GoRoute answers with a transaction id, the e-invoice ID and the delivery channel it chose: peppol when the buyer is registered for the document, email when the buyer is not on Peppol and your country allows email. The e-document is Pending Response.
  4. Business Central's E-Document Get Response job polls GoRoute (GET /api/v1/transactions/{id}) every five minutes until the document settles: delivered or issued (the e-document becomes Sent) or failed (Sending Error, with GoRoute's reason).

A credit memo applied to an invoice is sent as a credit note citing that invoice's number and date (and, in Oman, its e-invoice ID).

Checks happen before posting: a document for a customer on the profile is refused at release or posting when the country is not supported, the API key is missing, or the seller tax ID is missing or invalid for the country, so the user can fix it while the document is still open.

Email delivery​

When GoRoute issues a document for email (the factbox's Delivery line says so), the buyer has not received it yet. Use Email E-Invoice to Customer on the posted document: GoRoute emails it to the customer's e-mail address from its verified sender, with the PDF (a ZUGFeRD or EN 16931 hybrid carrying the e-invoice) and the XML attached, and your company's e-mail as the reply-to address.

On the posted document​

The GoRoute E-Invoice factbox on the posted invoice or credit memo shows GoRoute's status verbatim, the delivery channel and what it means, the e-invoice ID, the transaction id, and for a failure the error code and GoRoute's own words (a rule id, for example). Actions:

ActionWhat it does
Send to GoRouteSends now. When posting created an e-document it runs the e-document workflow in your session (the same path the job queue takes). When it did not β€” the customer was not on the profile at posting time β€” it sends directly and says so.
Refresh GoRoute StatusReads the transaction back and updates the factbox.
Resend to GoRouteEnabled only for a failed or retrying document. GoRoute rebuilds it from the stored invoice and queues it again.
Email E-Invoice to CustomerEnabled only for a document GoRoute issued for email.
E-Document DiagnosticsWhat Business Central's own e-document tables and job queue say about this document.
Open Verification Page (factbox)Opens GoRoute's public verification page, where one is published (Oman).

The framework's own Get Approval action on the E-Document card asks GoRoute the same question and marks the e-document Approved or Rejected. Cancel EDocument answers honestly: GoRoute cannot cancel a document already handed to the network (or, in Oman, reported to the Tax Authority); post a credit memo instead.

Statuses​

The factbox shows GoRoute's transaction status without translation.

StatusMeaning
queued, sentAccepted by GoRoute, delivery in progress.
delivered, ackedDelivered to the buyer's access point (and reported, in Oman).
issuedIssued for email: the buyer is not on Peppol. Use Email E-Invoice to Customer.
heldOman: prepared and reported, not transmitted, because the buyer is not on the network.
failed, retryingNot delivered. Resend is available; the error code and message say why.
validation_failedThe document did not pass the country's rules; the message carries the rule id. Correct and re-issue (credit memo plus a new invoice).

Sandbox environments​

A sandbox copied from production keeps its API key. The app refuses to send from a sandbox unless Allow Sending from Sandbox is switched on in that sandbox's setup, so a copy cannot re-send real invoices.

Troubleshooting​

The setup page says GoRoute does not issue e-invoices for my country. Check Company Information β†’ Country/Region Code first. If it is right, the country is not supported from Business Central yet (see the table above).

Posted, but nothing was sent. Open Check readiness on the setup page. In order:

  1. The country line β€” a country GoRoute does not serve refuses everything.
  2. MISSING e-document service GOROUTE or the service without integration GoRoute β€” the framework never calls the app unless the service's Service Integration is GoRoute; Set up e-document workflow repairs it.
  3. MISSING supported types β€” no e-document is created for the posting.
  4. MISSING workflow GRT-GOROUTE or disabled β€” nothing answers E-Document Created.
  5. MISSING sending profile GOROUTE, or the customer not on it β€” posting created no e-document at all; the posted document's E-Document Diagnostics says edoc: NONE.
  6. job queue: N failed "E-Document Created Flow" entries β€” the workflow runs in a job queue entry; its error message is the reason. Send to GoRoute on the document runs the same path immediately.

Sending Error on the e-document. GoRoute's answer is in the e-document's error messages and in the factbox. HTTP 401 is a wrong or revoked API key; HTTP 422 with a rule id is a validation failure against your country's rules; "could not be reached" leaves the document queued and the job retries.

"… is not a valid VAT number for …". The tax ID does not have the country's shape or its check digit is wrong (Belgium, Norway and the other check-digit countries are refused by the network itself, so the app refuses first).

A copied sandbox refuses to send. By design; see above.

Support: admin@goroute.ai, quoting the transaction id from the factbox.