ERP troubleshooting: error messages per software package

Error messages and solutions per ERP package: Unit4 ERPx, Business Central, AFAS, AllSolutions, Exact Online and more.

Error messages and solutions per ERP package. This article covers package-specific errors. For generic API, webhook and connectivity issues: see Troubleshooting integrations.

Unit4 ERPx

Error messages with prefix U4 come from Unit4 ERPx. The solution is almost always on the software side, not with eConnect. The customer can download the XML file from the platform and forward it to the Unit4 administrator.

The JSON payload sent to Unit4/ERPx cannot be retrieved. The JSON that eConnect posts to Unit4/ERPx is not logged and therefore cannot be retrieved — not via an API endpoint and not via support. Manual reconstruction is not supported. For diagnosis or verification of invoice data, support refers customers to the downloadable XML file from the platform.

Error messageCauseSolutionAPI500: Unknown error occurred booking the invoiceTime-out, >200 lines, 0-lines, duplicate VAT codesResubmit; manually in ERPx; check VAT schemeU4BadRequest: Invoice number already exists (3011/3010)Invoice already registeredCheck if invoice was submitted twice; check IDR recognitionAPI500: Could not find a VAT mapping 'P-XX9'Incorrect VAT code in XMLHave supplier send via Peppol; add mapping in AutopilotU4BadRequest: BET.VOORW not validNo payment term at creditorSet payment term in Unit4U4BadRequest: EI_AP_DEF_ACCOUNT not setDummy creditor not activeActivate Dummy Creditor, resubmit invoicesU4BadRequest: Betaalbaar valutabedrag moet afwijken van 0Invoice total is € 0.00Cannot be posted in Unit4U4Forbidden.JSON: User is not authorized (2030)M2M-eConnect user lost permissionsRestore M2M-eConnect user permissionsU4OK.JSON: System.Int32 overflowInvoice numbers exceeding 2,147,483,647Unit4-side; Unit4 is working on a solutionEmbeddedDocumentBinaryObject Base64 "data" prefixSource sender sends PDF with "data" prefix in Base64IDR removes prefix automatically; still possible for Peppol invoices

DueDate compensation: Unit4 cannot process invoices without a DueDate/PaymentDueDate (the field is not mandatory in the XML). eConnect sets the PaymentDueDate to the IssueDate (invoice date) plus 30 days by default when this field is missing. This is a standard Rule Based Enrichment, configured per customer as PrivateObject in the PSB (typically Id unit4-setDueDate-30days).

Invoice booked but PDF attachment missing: earlier connection breaks on the Unit4 side where the PDF was dropped are now being retried (confirmed by Platform & Integrations, May 2026). Remaining cases: see the diagnosis path below.

Invoice already in the platform, not (yet) in UBW -- waiting for automatic process

UBW is the classic Agresso/UBW name; within eConnect we use it as a search alias alongside Unit4 ERPx, where this forwarding takes place.

Symptom: an incoming invoice (often non-Peppol) was manually emailed to @trust.econnect.eu, is visible in the platform, but is not (yet) in UBW/Agresso or the connected financial package. See also Email Receiver for the intake via this address.

Make this distinction first, before escalating:

  1. Temporary batch or forwarding delay: the document is correctly in the platform, but the customer's automatic retrieval or booking process still needs to run or is currently running. This usually resolves itself; there is no outage.
  2. Permanently not arrived: after the expected run, the invoice is still absent. Then continue with Diagnosis: invoice not received in ERPx without error message below (integration type, documentId/consignmentId, Events, idempotency between Autopilot and ERPx).

On a fresh report:

  1. Confirm the visibility and status of the invoice in the platform.
  2. Ask about the integration type or ERP package (UBW/Agresso, Unit4 ERPx via Autopilot, SFTP/PSB, ...) and whether the automatic process has already run today.
  3. Has the process not yet run or is it currently running? Then wait briefly and confirm after the run. Do not escalate prematurely.
  4. Has the process run and is the invoice still permanently absent? Collect the IDs and follow the diagnosis path below.

There is no fixed SLA in hours between submission via the Email Receiver and processing in UBW/ERPx.

Diagnosis: invoice not received in ERPx without error message

This path applies to complaints like "Booked in eConnect but not visible in ERPx" or "invoice seems to have never arrived, no message in Document Journal".

Background: the Autopilot — Unit4 ERPx route is idempotent (match on invoice number + customer + supplier). On a match, ERPx is not called again and only a missing PDF is uploaded, while the platform still shows Booked. An empty Document Journal for the second submission therefore does not mean the invoice is lost, but usually that the idempotent check was triggered.

Check this first with a Unit4 partner with multiple invoices:

  1. Delivered-only, no journal: status Delivered/Received in the Inbox with 0 hits in Document Journals means no Autopilot booking attempt (Booked/Booking failed) has happened yet. Resubmit the invoice to the connected software first; only start an Events investigation after that. See Autopilot -- Document Journals.
  2. Separate the parties: the receiving customer (ERPx user) is not the same as the supplier on the invoice, nor the same as any intermediary party on an attached log.
  3. Correct log or document: check whether the attachment or the eConnect log is the claimed document (invoice number, supplier to recipient). A wrong log is a different document; do not start an ERPx investigation on it.
  4. Identifier per claimed invoice: at minimum the invoice number, preferably also documentId or consignmentId. Multiple missing invoice numbers are separate documents; Booked on invoice A does not cover invoice B.
  5. Booked plus duplicate error (e.g. invoice number already exists, or after resubmission): often the same invoice number was sent again. The platform may show Booked on the earlier booking; that is not proof that a different invoice number is in ERPx. Confirm this via Events (step 3 below) or an existing ERPx registration.

Steps:

Step 1: Identify the integration type

Determine the integration type of the recipient: Autopilot (Unit4 ERPx), other PSB route, direct SOAP API or SFTP. The interpretation of status labels differs per integration type.

Step 2: Collect a document ID

Collect one of the following IDs for the document:

  • documentId (from the PSB), or
  • consignmentId (from the platform).

One of these two is sufficient to look up the document in all internal systems.

Step 3: Consult Management API - Events (internal)

Open the document on documentId or consignmentId and consult the Events timeline. This shows per step which action was performed on the document (receipt, validation, submission to ERPx, retries, idempotent match, PDF upload). For SFTP integrations, this is the only place where the delivery status is visible.

Step 4: Recognise idempotent match

Do you see in Events that eConnect recognised the invoice as existing (invoice number + customer + supplier) and only did a PDF upload? Then this is expected behaviour — the invoice was already in ERPx from a previous submission. No escalation needed.

Step 5: Escalation (if needed)

Only if Events does not provide a conclusive picture: escalate to the technical team with at minimum:

  • documentId or consignmentId
  • recipient partyId
  • integration type (Autopilot, other PSB route, SOAP, SFTP)
  • customer name and ticket number
ABWInvoice (Agresso/Unit4)

The ABWInvoice transformation was built based on original test documents. Deviating document variants (e.g. free text invoices) may fail with "API400: Initializing failed". Solution: change request at Development for transformation extension.

Business Central

Error messages with prefix BC come from Business Central. Little influence from eConnect; the customer must check the BC configuration.

The prefix between brackets indicates the type of response that eConnect received from Business Central when booking the invoice:

  • [BC400] — a request rejected by Business Central (BC returned a 400-type error). This is almost always a validation or table relation error in the customer's BC configuration. The text directly after [BC400]: names the specific BC error.
  • [BCBadRequest] / [BCNotFound] / [BCTooManyRequests] — similar BC-side responses (rejected request, not found, rate limit).
  • [API400] — rejected by the eConnect API itself, for BC (e.g. an incorrect connection setting).

In all BC prefix cases, the solution is on the BC side (customer's configuration); eConnect has little influence here.

Search vendor for incoming invoices

Lookup order for identifiers in the invoice: 1. VAT, 2. Chamber of Commerce (KvK), 3. IBAN. Mapping to BC API fields: VAT to VAT_Registration_No, Chamber of Commerce to Registration_Number, IBAN to Vendor Bank Account No. Vendor not found: eConnect does not create a vendor; the invoice fails (typically [API400] Could not retrieve vendor... / vendor ids).

After the vendor is recognized, bank accounts from the invoice are checked against the Vendor Bank Accounts of that vendor, including G-accounts passed via the IDR extension. See G-Account Code in the table below.

[BCNotFound] — causes and .JSON variant

The suffix .JSON (e.g. [BCNotFound].JSON) occurs because the integration code expects a JSON response, but Business Central returns an HTML page instead of JSON for some 404 errors. That HTML cannot be parsed to JSON — hence the .JSON part in the error message. The underlying cause is the same as for a regular [BCNotFound].

[BCNotFound] typically has two causes:

  1. The specified URL of the BC environment is incorrect.
  2. The web services required by the integration have not been published in the environment.

For outgoing (sending invoices) the web services are usually not an issue: the eConnect extension publishes them itself. For incoming the customer can install the extension to publish the web services, or publish them manually.

Specifically for DataBalk customers there is a third cause: they do not link the two Lines web services PSBPurchaseOrderLines and PSBPurchaseInvoiceLines to the default pages 54 and 55, but to custom pages. If these web services are nevertheless linked to the default pages, a 404 response follows when called.

Error messageCauseSolutionRefresh token expired / invalid_grant (incl. AADSTS50173)OAuth token expired or revoked -- e.g. no invoice sent for a long time, or a password change/token revocation in Azure AD (error code AADSTS50173)Self-service: redo the eConnect PSB setup within Business Central (remove and reconnect the integration in BC). The fix is on the BC side, not in the eConnect portal.API400: action 'booking' not supportedConnection contains "booking" instead of "autobooking"Set correct value via ManagementApiBCNotFound: PSBWebhookReceiver_ReceiveHookOld connection corruptTechSupport remove old connectionBCNotFound.JSONBC returns HTML instead of JSON on 404; URL incorrect or web services not published (DataBalk: Lines web services linked to custom page instead of 54/55)Check BC URL and published web services; see [BCNotFound] — causes and .JSON variant aboveBCTooManyRequestsBC API rate limit exceededDocument usually processed; refer to BC partnerBCBadRequest: Transaction Type value (ECONNECT)Transaction type missingAdded automatically during installation; manual for older versionsBCBadRequest: VAT Prod. Posting Group value (1)VAT value missing in VAT Product Posting GroupAdd value; check VAT MappingBC400: Internal_InvalidTableRelation — VAT Prod. Posting Group value (1)VAT value missing in table VAT Product Posting GroupAdd value to VAT Product Posting Group; check VAT configurationBC400: Application_FieldValidationException — Account type must be 'Posting' (G/L Account 3000 is 'Begin-Total')The G/L account used is a total line, not a postable accountUse a postable G/L account (Account type = Posting) in the Autopilot posting schemaBCNotFound: G-Account Code / Internal_InvalidTableRelation -- field G-Account Code of table Purchase Header contains a value that cannot be found in the related table (Vendor Bank Account)XML contains a G-account number; via IDR + the Idyn G-account extension this is automatically set in the G-Account Code field of Purchase Header. That G-account is not registered as a Vendor Bank Account with the recognized vendor (Idyn requires this). Do not confuse with "vendor does not exist" ([API400] Could not retrieve vendor...)Register the G-account as a bank account with the vendor in BCBadRequest Control 'DocAmount' is read-only (4PS)4PS version has made fields read-only"excludeAmounts": true via Management APIProperty 'Bank_Account_Code' does not exist (4PS BE)Belgian BC environment missing this field"excludeBankAccountCode": true via Management API
Sending -- connection errors
Error messageCauseSolutionAutopilot Connect opens new tab: "This page isn't working" (multiple browsers/incognito)Missing BC license on the account used to make the connectionCustomer arranges BC license via BC partner (e.g. DataBalk). No browser fix
AFAS
Error messageCauseSolutionNo entityID found for companyPostcode check with Chamber of Commerce doesn't match (branch office)Correct Chamber of Commerce number on debtor cardInvoices marked as duplicateInvoice number + invoice date identical for different supplierseConnect-side problem; internal investigation neededVAT breakdown not taken over (Small Business)AFAS Small Business limitationNo solution on eConnect sideBelgian enterprise number rejected after switch to Peppol BIS V3 (was allowed under SI2.0)Configuration issue in AFAS master data: the Belgian enterprise number (EAS 0208) contains dots (e.g. 0208:0809.948.614). SI2.0 does not validate the format, Peppol BIS V3 does -- so the error only appears after switching to BIS V3.Adjust master data in AFAS: remove the dots from the enterprise number. Valid format is exclusively 10 digits starting with 0 or 1 (no dots or separators). An eConnect support staff member with Cloudwatch access can check send attempts and error messages for the customer.
Diagnosis: invoices from one AFAS administration are not arriving

The AFAS connection works per administration and per environment. Receiving forwards the XML 1:1 to the linked AFAS administration. If only one administration fails while others are fine, this is rarely an organization-wide Peppol receiving issue, but usually an admin-specific connection or forwarding problem.

When a report comes in, check in this order:

  1. Scope: which exact AFAS administration (name or ID) is failing? Are other administrations working fine?
  2. Evidence: at least one invoice number (with invoice date) that the customer says is missing in AFAS.
  3. Inbox check (same organization):
    • Not in the inbox? Then the issue is more likely in receiving, the Peppol channel or the e-mail channel, not the AFAS connection. See incoming invoices.
    • In the inbox but not in AFAS? Then it concerns the downstream connection or forwarding to that administration.
  4. Connection: every AFAS environment has its own connection keys. Check whether the failing administration is in the correct environment and whether the eConnect keys for that environment are active in AFAS.
  5. Platform action (if the document is in the inbox): check the status and use "Resubmit API download"; if the invoice is marked as duplicate, first use "Mark as original" (see generic ERP steps).

The known AFAS error rows above (entityID, duplicate, Small Business VAT, BE-0208 with dots) do not cover this scenario: this is an admin-scope receiving diagnosis without a fixed error code.

AllSolutions
Error messageCauseSolutionCompany-organisation not foundChamber of Commerce/VAT/OIN mismatchCheck identifiers in both systemsOrder number missingAllSolutions Logistics does not support order numbers on sales invoicesAdd manually in eConnectVAT errorsAllSolutions rounding calculation incorrectAllSolutions must resolve thisReset connectionMBDRAF > company > eConnect > Edit > today's date; then run VIMEVB or VIMEXB
Exact Online

Known outage? Check status.exact.com first for current Exact outages -- separate from eConnect's own status page (support.econnect.eu/status/). An outage at Exact itself (e.g. Exact Online, Exact API) sometimes explains errors that are not caused by the eConnect connection.

Error messageCauseSolutionForbiddenInsufficient permissions (MyOffice doesn't work)Set up a full user with minimal permissionsinvalid_grant / No consent from userOAuth consent expired or revokedGrant consent again in Exact OnlineDigital mailbox not createdPermission problemCreate manually: My Exact > My contact details > Digital mailboxesAlready exists: Digital mailbox; Invalid: DivisionWrong administration linkedCompare division numbers
ECI Inventive

Connection: SOAP enterprise, only receiving (purchase). Setup: Connect ECI Inventive.

Diagnosis: invoices not read into Inventive

Two causes, do not confuse them:

  1. eConnect platform disruption: for example PDF attachments not delivered. Check the invoice status in eConnect Inbox.
  2. Own payload validation error on the Inventive side: outside the scope of eConnect support. The Inventive administrator investigates this.

Status "processed" in eConnect Inbox means eConnect delivered the invoice correctly. If the invoice is still missing in Inventive afterwards, first check the Inventive payload/import (batch jobs), not the eConnect receipt again.

SymptomFirst checkDirectionInvoice + PDF missing or incomplete in InventiveInbox status and attachmentsPlatform/eConnect if status is not "processed" or the attachment is already missing thereInvoice "processed" in Inbox but not in InventivePayload/import error InventiveInventive administrator (batch import e-invoices, DNA/configuration)Complaint "not read in" without status evidenceAlways check Inbox firstSplit platform vs ERP payload
Generic ERP steps

The following steps apply to every ERP package:

  1. Test the connection: all packages require port 443 to the eConnect endpoint.
  2. Revoke software integration: Platform > Connections > Revoke key > also remove in the linked software.
  3. Resubmit documents: Inbox/Outbox > three dots > "Resubmit API download". For duplicate marking first "Mark as original".

Back to software integrations