Billing
Your package, usage this period, and billing contact.
Your package, usage this period, and billing contact.
Certified Peppol Access Point • POP000991
Documents
-
Success Rate
-
Delivered
-
Failed
-
-
Total
How your documents flow through the Peppol network
Manage Peppol participant identifiers
| Participant ID | Scheme | Services | SML Status | Actions |
|---|---|---|---|---|
| Loading participants... | ||||
Manage document types and processes for your participants
Total Service Groups
-
Document Types
-
Active Processes
-
Loading service groups...
AS4 access point configuration and transport settings
Total Endpoints
-
Transport Protocols
AS4
Loading endpoints...
Drafts, imported & sent invoices. Invoices that couldn't be delivered appear at the top as exceptions to correct and resend.
Long-term storage and retrieval of exchanged documents
Total Documents
-
Invoices
-
Credit Notes
-
Storage Used
-
| Document | Type | Sender | Recipient | Date | Actions |
|---|---|---|---|---|---|
|
Archive is empty Documents will appear here after exchange |
|||||
Showing 0 documents
Generate compliance reports, transaction logs, and audit trails. Export to CSV, Excel, or PDF.
Overview of all documents sent and received, grouped by month with delivery status breakdown.
Detailed delivery status for all AS4 transmissions including timestamps, receipts, and error details.
All failed deliveries with error codes, validation failures, and troubleshooting details.
Document volume and delivery stats per trading partner. See your most active recipients.
Distribution of invoices, credit notes, and other document types with volume trends.
EN16931 and Peppol BIS 3.0 validation pass rates, error codes, and compliance status.
Match sent invoices against delivery receipts. Identify unreconciled or disputed documents.
10-year retention compliance status, storage usage, and archived document inventory.
Complete audit trail of all transactions. Export to CSV, JSON, or XML for your records.
Who changed, sent, or deleted invoices — with before/after values. Filter by user, action, and date.
Tell us what you need — we'll build it and get back to you within 24 hours.
We'll get back to you within 24 hours
Pre-built billing system connectors — receive invoices via webhook automatically
On-prem ERP · Integrated SOA Gateway (ISG) · AR → Peppol / Fawtara · outbound (issue)
A lightweight, outbound-only agent runs inside your network and talks to EBS over the Integrated SOA Gateway (ISG). No inbound firewall holes. Configure once per operating unit — the mapping below is configuration, not code.
oracle.apps.ar.transaction.completedRA_CUSTOMER_TRX · UUID/QR + attachmentEBS Receivables (AR / ZX / HZ) source columns mapped to the GoRoute canonical model. Parameterised per operating unit, tax code and item/UoM convention.
| Canonical field | EBS source |
|---|---|
| number | RA_CUSTOMER_TRX_ALL.TRX_NUMBER |
| issue_date | RA_CUSTOMER_TRX_ALL.TRX_DATE |
| seller | Operating-unit LE · TIN/CR from org setup |
| buyer | HZ_PARTIES + HZ_CUST_ACCOUNTS (TIN → 9959) |
| lines[] | RA_CUSTOMER_TRX_LINES_ALL (item, qty, price, UoM) |
| tax | ZX_LINES (rate, taxable amount → UBL category) |
| totals | line extension / tax-excl / tax-incl / payable |
| clearance write-back | UUID, QR, status → DFF on RA_CUSTOMER_TRX |
Pulls a sample AR invoice from the EBS sandbox and runs it through the full GoRoute pipeline.
Supplier e‑invoices addressed to your Peppol ID are received by GoRoute (you are corner 4). The same outbound-only agent pulls them — or receives a signed invoice.received webhook — and loads them into the EBS Payables Open Interface, so accounts payable is automated without opening any inbound firewall port.
invoice.received → stage → Payables Open Interface ImportReceived invoice (Peppol BIS / PINT OM canonical) mapped to the EBS Payables Open Interface. The supplier becomes the vendor; a PO reference drives 2‑/3‑way matching.
| Received field | EBS Payables target |
|---|---|
| supplier (seller / C1) | AP_SUPPLIERS / AP_SUPPLIER_SITES_ALL (TIN → 9959) |
| invoice number | AP_INVOICES_INTERFACE.INVOICE_NUM |
| issue_date | AP_INVOICES_INTERFACE.INVOICE_DATE |
| currency | AP_INVOICES_INTERFACE.INVOICE_CURRENCY_CODE |
| buyer (you) | ORG_ID / operating unit (bill-to LE) |
| PO reference (BT‑13) | AP_INVOICES_INTERFACE.PO_NUMBER → match |
| lines[] | AP_INVOICE_LINES_INTERFACE (amount, qty, UoM, desc) |
| tax | AP_INVOICE_LINES_INTERFACE tax lines · eBTax recovery |
| totals (control) | AP_INVOICES_INTERFACE.INVOICE_AMOUNT |
| source / batch | SOURCE = 'GOROUTE' · GROUP_ID (import batch) |
| acknowledgement write-back | GoRoute UUID / status → DFF on AP_INVOICES_ALL |
Simulates a supplier e‑invoice arriving over Peppol for OOMCO and loads it into the EBS Payables Open Interface, matched to its PO.
Real-time pump sale · Oracle APEX/ORDS → certified Oman AP → Fawtara QR
Mints a fresh OOMCO fuel sale on every click (based on the real Al Mabeela MEGA SS receipt) and runs the whole flow end‑to‑end: a POS event is sent to GoRoute, which validates against PINT OM, builds the Fawtara QR, generates the Tax Data Document and clears it — landing on your Transactions page as Delivered, exactly as an Oracle APEX/ORDS or EBS ISG call would.
Enterprise ERP · OData pull agent · Billing Document → PINT OM / Peppol BIS · outbound
API_BILLING_DOCUMENT_SRV, so no
SM59 destination, no ABAP transport and no
change-request cycle is needed on the SAP side. Works identically against SAP's public
API sandbox and a customer's own S/4HANA.
SoldToParty returns an identifier such as
17100001 — a compliant invoice needs the
buyer's legal name, address and tax identifier. The connector resolves what it can from the
business-partner service, but an SAP customer number is not a Peppol
participant ID — set the two identifiers above so mapping has somewhere to
land. Production deployments replace the default with a per-customer map.
Pick a document, dry-run it against the compliance rules, then transmit. Delivered documents appear on the Transactions page.
How SAP billing-document fields become PINT OM / Peppol BIS 3.0 terms. Applied by the agent on extraction. Verified against API_BILLING_DOCUMENT_SRV.
| SAP field | Peppol / PINT OM | Notes |
|---|---|---|
| BillingDocument | cbc:ID (BT-1) | SAP document number, used as the invoice number |
| BillingDocumentDate | cbc:IssueDate (BT-2) | OData v2 returns /Date(1471392000000)/ — epoch ms → YYYY-MM-DD |
| BillingDocumentType | InvoiceTypeCode (BT-3) | F2 → 380 invoice · G2 → 381 credit note · L2 → 383 debit note |
| CompanyCode | AccountingSupplierParty | ID only — seller name, address and VATIN resolved from company-code master |
| SoldToParty | AccountingCustomerParty | ID only — buyer details resolved from the business-partner service |
| party master → VATIN | EndpointID schemeID="0248" | Oman: OM prefix + 10 digits, both parties on scheme 0248 |
| TransactionCurrency | DocumentCurrencyCode (BT-5) | ISO 4217 |
| TotalNetAmount | TaxExclusiveAmount (BT-109) | — |
| TotalTaxAmount | cac:TaxTotal (BT-110) | Oman: category S at 5%, or a VATZR-OM / VATEX-OM code |
| TotalGrossAmount | TaxInclusiveAmount (BT-112) | — |
| BillingDocumentItem | cac:InvoiceLine/cbc:ID (BT-126) | From A_BillingDocumentItem |
| BillingDocumentItemText | cac:Item/cbc:Name (BT-153) | — |
| BillingQuantity + Unit | InvoicedQuantity @unitCode | PC → EA · KG → KGM · L → LTR (UN/ECE Rec 20) |
| NetAmount (item) | LineExtensionAmount (BT-131) | — |
| not in SAP standard | ID schemeName="CC" / "MP" | IBR-081-OM / IBR-078-OM — HS codes come from material master or a mapping table |
Subscription billing · Webhook integration
Push generated BIS 3.0 XML files to GoRoute for validation and Peppol AS4 delivery.
/peppol-api/api/v1/invoices/sendRequires X-API-Key header. Get your key from the API Keys page.
Invoice Posted
X-API-Key: <your-key> and Content-Type: application/xml
Send a test event through the full pipeline to confirm everything is wired correctly.
Copy this URL and paste it into your Zuora notification callout configuration.
https://euqnjrk7rc.execute-api.us-east-1.amazonaws.com/webhook/zuora/invoiceUsed to verify webhook payloads are genuinely from Zuora. Set this as the shared secret in your callout configuration.
X-Zuora-Signature header. GoRoute recomputes the HMAC and rejects any request where the signature does not match — preventing spoofed or tampered payloads from being processed.
••••••••••••••••••••••••••••••••
Invoice Posted
POST, Content-Type application/json
In production, GoRoute treats the webhook as a trigger signal, not the sole data source. When a callout arrives, GoRoute:
Why? Peppol/UBL compliance requires more structured data than a lightweight webhook payload alone. The webhook triggers processing; the Zuora API provides the full source of truth.
Send a test event to confirm the webhook is configured correctly.
updatedDate high-water mark. Webhook/callout is the recommended primary pattern; polling should be used only when webhooks are not possible. Contact support to enable polling mode.
| Timestamp | Invoice | Status | Validation | Actions |
|---|---|---|---|---|
| No events received yet. Complete setup and post an invoice in Zuora, or use Send Test Event to verify. | ||||
Default transformation rules applied during conversion. Overrides per field coming soon.
| Zuora Field | → | UBL Element | Notes |
|---|---|---|---|
| InvoiceNumber | → | cbc:ID | Invoice identifier |
| InvoiceDate | → | cbc:IssueDate | YYYY-MM-DD |
| DueDate | → | cbc:DueDate | Payment due date |
| Currency | → | cbc:DocumentCurrencyCode | Passed through from Zuora as-is/td> |
| Account.PeppolId | → | cac:AccountingCustomerParty | Receiver endpoint (scheme:id) |
| Amount | → | cac:LegalMonetaryTotal | TaxExclusiveAmount + TaxInclusiveAmount |
| TaxAmount | → | cac:TaxTotal/cbc:TaxAmount | Total tax |
| InvoiceItems[].ChargeAmount | → | cac:InvoiceLine/cbc:LineExtensionAmount | Per-line net amount |
| TaxationItems[].TaxRate | → | cac:TaxCategory/cbc:Percent | VAT rate (e.g. 5%) |
| BillToContact.* | → | cac:PostalAddress | Street, city, postal code, country |
Oman VAT numbers use the 9959 participant identifier scheme. GoRoute validates that the supplier VAT number (e.g., OM3100209729) is present and correctly formatted in cac:AccountingSupplierParty.
GoRoute checks whether the buyer has a VAT/Tax number. If Account.TaxNumber is blank, GoRoute classifies the transaction as B2C and applies appropriate CIUS rules. B2B invoices require a buyer identifier and may need a Peppol endpoint ID for network delivery.
Zuora invoices are passed through in their billing currency. When auto-convert is enabled and the receiver's jurisdiction requires a different currency (e.g., OMR for Oman), GoRoute converts amounts using live Central Bank exchange rates at invoice time. GoRoute validates that the 5% VAT rate matches Oman's standard rate and that tax amounts are mathematically consistent with line totals.
GoRoute routes Oman invoices to the appropriate channel: Peppol AS4 for network-registered recipients, tax authority reporting when required by Oman regulations, and PDF + UBL archive for audit evidence. GoRoute does not replace the billing system's customer-facing PDF — it generates the structured compliance artifact alongside it.
QuickBooks Online · OAuth 2.0 · Webhook integration
Intuit sends real-time notifications when invoices are created or updated.
/connectors/quickbooks/webhook/quickbooksConfigure this URL in Intuit Developer Portal → Webhooks. Select Invoice and CreditMemo entity events. The connector verifies the intuit-signature header via HMAC-SHA256.
intuit-signature header to ensure authenticity and reject tampered requests.
••••••••••••••••••••••••••••••••
Send a test QuickBooks invoice through the GoRoute pipeline.
| Timestamp | Invoice | Status | Validation | Actions |
|---|---|---|---|---|
| No events received yet. Complete setup and create an invoice in QuickBooks, or use Send Test Event to verify. | ||||
Default transformation rules applied when converting QuickBooks invoices to Peppol BIS 3.0.
| QuickBooks Field | → | UBL Element | Notes |
|---|---|---|---|
| DocNumber | → | cbc:ID | Invoice number |
| TxnDate | → | cbc:IssueDate | YYYY-MM-DD |
| DueDate | → | cbc:DueDate | Payment due date |
| CurrencyRef.value | → | cbc:DocumentCurrencyCode | ISO 4217 currency |
| CustomerRef | → | cac:AccountingCustomerParty | Customer lookup via API |
| TotalAmt | → | cac:LegalMonetaryTotal | Tax-inclusive total |
| TxnTaxDetail.TotalTax | → | cac:TaxTotal/cbc:TaxAmount | Total tax amount |
| Line[].Amount | → | cac:InvoiceLine/cbc:LineExtensionAmount | Line net amount |
| Line[].SalesItemLineDetail | → | cac:Item/cbc:Name | Item description |
| BillAddr.* | → | cac:PostalAddress | Street, city, postal, country |
Accounting · OAuth 2.0 · Webhook integration
Xero fires notifications when invoices are created, updated, or approved.
/connectors/xero/webhook/xeroConfigure in Xero Developer Portal → Webhooks. GoRoute responds to the Intent to Receive validation automatically. Payloads are verified via x-xero-signature HMAC-SHA256.
x-xero-signature header to ensure payload authenticity.
••••••••••••••••••••••••••••••••
Send a test Xero invoice through the GoRoute pipeline.
| Timestamp | Invoice | Status | Validation | Actions |
|---|---|---|---|---|
| No events received yet. Complete setup and approve an invoice in Xero, or use Send Test Event to verify. | ||||
Default transformation rules applied when converting Xero invoices to Peppol BIS 3.0.
| Xero Field | → | UBL Element | Notes |
|---|---|---|---|
| InvoiceNumber | → | cbc:ID | Invoice identifier |
| Date | → | cbc:IssueDate | YYYY-MM-DD |
| DueDate | → | cbc:DueDate | Payment due date |
| CurrencyCode | → | cbc:DocumentCurrencyCode | ISO 4217 currency |
| Contact | → | cac:AccountingCustomerParty | Contact name + tax number |
| Total | → | cac:LegalMonetaryTotal | Tax-inclusive total |
| TotalTax | → | cac:TaxTotal/cbc:TaxAmount | Total tax amount |
| LineItems[].LineAmount | → | cac:InvoiceLine/cbc:LineExtensionAmount | Line net amount |
| LineItems[].TaxType | → | cac:TaxCategory/cbc:Percent | Tax rate from tax type lookup |
| Contact.Addresses[0] | → | cac:PostalAddress | Street, city, postal, country |
On-premise ERP · HTTP-XML gateway · Sales → PINT OM / Fawtara · outbound
localhost:9000
behind your firewall and sends no CORS headers. The GoRoute Tally Agent runs
beside Tally, and this page talks to the agent.
Both, Port = 9000Pick a voucher, dry-run it, then transmit. Delivered documents appear on the Transactions page.
How TallyPrime fields become PINT OM / Peppol BIS 3.0 terms. Applied by the agent on extraction.
| Tally field | Peppol / PINT OM | Notes |
|---|---|---|
| VOUCHERNUMBER | cbc:ID (BT-1) | Requires manual numbering — auto-numbering silently discards it |
| DATE | cbc:IssueDate (BT-2) | YYYYMMDD → YYYY-MM-DD |
| VOUCHERTYPENAME | InvoiceTypeCode (BT-3) | 380 invoice · 381 credit note · 383 debit note |
| Company VATTINNUMBER | EndpointID schemeID="0248" | Seller. Must be OM + exactly 10 digits |
| Ledger VATTINNUMBER | EndpointID schemeID="0248" | Buyer. Read via FETCH — NATIVEMETHOD returns empty |
| STOCKITEMNAME | cac:Item/cbc:Name (BT-153) | — |
| BILLEDQTY unit | InvoicedQuantity @unitCode | KGS→KGM · PCS→EA · LTS→LTR (UN/ECE Rec 20) |
| AMOUNT | LineExtensionAmount (BT-131) | OMR at 3 dp; document totals capped at 2 dp |
| Output VAT ledger | cac:TaxTotal (BT-110) | Category S, 5% |
| not in Tally | ID schemeName="CC" / "MP" | IBR-081-OM / IBR-078-OM — placeholder, needs real HS codes |
Invoicing · Accounting · XML-RPC / REST API
GoRoute uses these credentials to call account.move via XML-RPC. Credentials are encrypted at rest.
state = 'posted')write_date to pick up only new/changed recordsConfigure Odoo's automated action to POST invoice data to GoRoute on validation.
/connectors/odoo/goroute/webhook/statusaccount.move validation that POSTs to GoRoutePull posted invoices from your Odoo now, instead of waiting for the 5-minute cycle.
| Timestamp | Invoice | Status | Validation | Actions |
|---|---|---|---|---|
| No events yet. Post an invoice in Odoo, then use Pull from Odoo now — or wait for the next 5-minute poll. | ||||
Default transformation rules applied when converting Odoo invoices to Peppol BIS 3.0.
| Odoo Field | → | UBL Element | Notes |
|---|---|---|---|
| name | → | cbc:ID | Invoice number (e.g., INV/2026/0001) |
| invoice_date | → | cbc:IssueDate | YYYY-MM-DD |
| invoice_date_due | → | cbc:DueDate | Payment due date |
| currency_id.name | → | cbc:DocumentCurrencyCode | ISO 4217 currency |
| partner_id | → | cac:AccountingCustomerParty | Partner name + VAT number |
| amount_total | → | cac:LegalMonetaryTotal | Tax-inclusive total |
| amount_tax | → | cac:TaxTotal/cbc:TaxAmount | Total tax amount |
| invoice_line_ids[].price_subtotal | → | cac:InvoiceLine/cbc:LineExtensionAmount | Line net amount |
| invoice_line_ids[].tax_ids | → | cac:TaxCategory/cbc:Percent | Tax rate from account.tax |
| partner_id.street/city/zip/country | → | cac:PostalAddress | Partner address fields |
S/4HANA · Business One · IDoc/BAPI
SuiteScript · Cloud ERP · Multi-subsidiary
Business Central · Finance · Power Automate
Invoice posted in Zuora / ERP
Invoice payload sent to GoRoute endpoint
Mapped to Peppol BIS 3.0 UBL, Schematron validated
AS4 message sent, receipt confirmed
Connect your ERP system to GoRoute.ai Peppol for automated document exchange
Zuora connector is live! Send invoices with one click — no coding needed.
GoRoute.ai Peppol provides a comprehensive REST API for seamless integration with any ERP system. Send invoices, receive documents, and manage participants programmatically.
Generate an API key from the API Keys section
Set the API endpoint and credentials in your ERP
Send a test document to verify the integration
Start sending and receiving Peppol documents
/peppol-api/api/v1
GoRoute.ai Peppol integrates with any ERP that supports REST API webhooks. Pre-built connectors are available for:
SAP
S/4HANA, Business One
Oracle
NetSuite, Cloud ERP
QuickBooks
Online, Desktop
Microsoft
Dynamics 365
Xero
Accounting
Sage
Intacct, X3
Odoo
All Versions
Request
New Integration
curl -X POST /peppol-api/api/v1/documents \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"recipient": "0192:123456789", "document": "..."}'
const response = await fetch('/peppol-api/api/v1/lookup/0192:123456789', { headers: { 'Authorization': `Bearer ${apiKey}` } }); const participant = await response.json();
Track all sent and received documents
Total
0
Sent
0
Delivered
0
Failed
0
| Invoice / ID | Direction | Status | Participant | Business | Document Type | Created ▼ | Actions |
|---|---|---|---|---|---|---|---|
|
Loading transactions... |
|||||||
Showing 0 transactions
Send invoice emails from your own domain. After registering, add the DNS records below to your DNS provider; verification typically completes within a few hours.
Search the Peppol network for participants and their capabilities
This participant is not registered on the Peppol network.
Check the identifier and scheme, or the participant may not be Peppol-enabled.
Configure your API key for document exchange
Your API Key
The API key you save here is used for all dashboard features including CSV Import, Transactions, and programmatic API access via the X-API-Key header.
Loading API keys...
Get notified when documents are delivered or received
Webhooks are automated HTTP POST requests that GoRoute sends to your server when events occur. Instead of polling our API, you get instant notifications when invoices are delivered, received, or fail.
transaction.delivered
Fires when your outgoing invoice is successfully delivered to the recipient's Peppol Access Point.
transaction.failed
Fires when invoice delivery fails (validation error, recipient not found, network issue).
transaction.received
Fires when you receive an incoming invoice from another Peppol participant.
Create an HTTPS endpoint on your server
Your endpoint must accept POST requests and return a 2xx status code.
Register your webhook URL here
Click "Add Webhook", enter your URL, and select which events to subscribe to.
Save your webhook secret
Copy the whsec_... secret shown after creation. Use it to verify webhook signatures.
Test your webhook
Click the "Test" button to send a test.ping event and verify your endpoint is working.
{
"id": "evt_abc123xyz",
"event_type": "transaction.received",
"created_at": "2026-01-25T14:30:00Z",
"data": {
"transaction_id": "550e8400-e29b-41d4-a716-446655440000",
"sender_id": "0088:7300010000001",
"document_type": "invoice",
"document_id": "INV-2026-001"
}
}
| Header | Description |
|---|---|
| X-Webhook-Signature | HMAC-SHA256 signature for verification |
| X-Event-Type | Event type (e.g., transaction.received) |
| X-Event-ID | Unique event ID for idempotency |
| X-Webhook-ID | Your webhook subscription ID |
import hmac
import hashlib
def verify_webhook(payload: bytes, signature: str, secret: str) -> bool:
expected = hmac.new(
secret.encode(),
payload,
hashlib.sha256
).hexdigest()
return hmac.compare_digest(f"sha256={expected}", signature)
No activity yet
Events will appear here as invoices are sent, received, and processed
Event Catalog
Browse all available events. Basic events are included by default. Premium events can be enabled — contact us to upgrade.
Webhook Events
Available events: delivered, failed, received
No webhooks configured
Add a webhook to receive notifications when documents are delivered
| Time | Event | Webhook | Status | HTTP | Latency | Actions |
|---|---|---|---|---|---|---|
|
No delivery history Webhook deliveries will appear here when events are triggered |
||||||
Get access to advanced webhook event categories
The HTTPS endpoint that will receive webhook notifications
Used to verify webhook signatures. Keep this secret secure.
Webhook Created Successfully!
Your endpoint will now receive event notifications.
Configure & export
Generating report...
Fetching and processing transaction data
Report ready
0
records found
Apr 1 – Apr 10, 2026
All statuses · All directions
Choose export format:
Failed to generate report
Unknown error
Tell us what you need — we'll get back within 24 hours.
Peppol AP • POP000991
Review before downloading
Invoice #INV-2024-001
#INV-2024-001
Scan for verification
Your Company Name
123 Business Street
City, Country 12345
Peppol ID: 0192:123456789
Recipient Company
456 Client Avenue
Town, Country 67890
Peppol ID: 0192:987654321
Issue Date
Jan 14, 2026
Due Date
Feb 14, 2026
Status
Delivered| Description | Qty | Unit Price | Amount |
|---|---|---|---|
| Professional Services | 10 | €100.00 | €1,000.00 |
Powered by GoRoute.ai — E-Invoicing & Compliance
Transaction ID: TXN-abc123
Document ID
INV-2024-001
Scan this QR code to verify the document authenticity and view its Peppol transmission status.
The dashboard is locked until you provide the API key we issued for your organization.
Lost your key? Contact support@example.com to re-issue one.
Your stored Odoo credentials are deleted and GoRoute stops polling for new invoices.