ERP integration
ERP and Accounting Software Integration with the FBR Digital Invoicing API
A practical integration architecture for mapping invoice data, validating before submission, handling responses and reconciling ERP records.
An ERP integration should preserve the ERP as the business record while adding a controlled bridge to the digital invoicing service. The best architecture is traceable, secure and recoverable when either system is unavailable.
Define system ownership
Document which system owns customers, products, prices, tax treatment, invoice approval and final accounting entries. Avoid maintaining competing versions of the same product or customer data in multiple tools without a synchronisation rule.
The integration layer should transform approved source data into the current API model; it should not silently invent missing tax classifications.
Use a clear processing pipeline
A dependable flow usually contains:
- an approved invoice or posting event in the ERP;
- field mapping into a versioned integration model;
- business and format validation;
- secure submission or validation request;
- response capture at invoice and item level;
- status update using the internal reference; and
- reconciliation and exception reporting.
Keep draft preparation separate from external submission. This supports approval controls and prevents partial records from being transmitted merely because they were saved.
Design the field mapping
Create a mapping specification showing the ERP table or field, transformation, target API field, data type, allowed values, fallback policy and owner. Pay special attention to identifiers, dates, province names, registration type, invoice type, HS code, UOM, rate, sale type and monetary precision.
Version the mapping. If an API or business rule changes, you should be able to identify which version produced an older invoice.
Protect credentials and sensitive data
Keep security tokens in an approved secrets store rather than source code or database fields visible to ordinary users. Restrict production access, log administrative changes, encrypt traffic and avoid writing complete sensitive payloads into general application logs.
Provide support teams with redacted diagnostic views containing references, status and error information without exposing credentials.
Build resilient submission
Use a queue or equivalent controlled process so a temporary external interruption does not block the ERP transaction or lose the invoice. Apply bounded retries with increasing delay. Before retrying an uncertain result, check whether a returned invoice number or existing status can be reconciled.
Maintain states such as ready, queued, validating, submitted, accepted, rejected and review required. A single “sent” checkbox is not enough.
Reconcile every day
Create reports that compare approved ERP invoices with submitted records, accepted invoice numbers, rejected items and records awaiting action. Finance should be able to trace from ERP invoice to request and response, and back again.
The FBR/PRAL DI technical specification describes the public object model, reference APIs and response structures. Confirm its current version and your authorised integration arrangement before production deployment.