BancoOS + GDT: setup, data flow and troubleshooting
Vietnam mandates electronic invoices through the General Department of Taxation. BancoOS validates every inbound supplier invoice against the GDT registry in real time, so non-compliant invoices never reach your books. This page documents how to enable validation and how to handle the exceptions that come up in production.
Prerequisites
- An active company MST registered with GDT.
- An authorised e-invoice provider on file with GDT for your business.
- BancoOS workspace admin rights to enable integrations.
Step-by-step setup
- Confirm tax registration. Verify the workspace company MST and the authorised e-invoice provider are current with GDT.
- Enable GDT validation. Open Integrations → GDT → Enable, enter the workspace MST and the authentication credentials BancoOS provides.
- Configure exception routing. Choose the reviewer responsible for validation exceptions and define the SLA for resolving them before approval.
- Optional backfill. Run a validation backfill against the last 30–90 days of invoices to surface data-quality issues and missing MST values in your supplier master.
- Go live. From this point, every inbound invoice is validated against GDT during capture, before it reaches the approval workflow.
Expected data flows
| From | To | Object | Cadence |
|---|---|---|---|
| Email / upload / e-invoice provider | BancoOS | Inbound invoice (PDF / XML) | On arrival |
| BancoOS | GDT registry | Validation request (MST + serial + template + total) | On capture (per invoice) |
| GDT registry | BancoOS | Signed validation response | Within seconds, stored as audit evidence |
| BancoOS | Approval workflow | Validated invoice or exception | Immediately after response |
Troubleshooting
Seller MST not found in GDT registry
Likely cause. The supplier MST is mistyped, the supplier is not yet registered, or the MST is suspended.
Fix. Verify the MST on the supplier's invoice and tax certificate. If the supplier is genuinely unregistered, do not post the invoice — request a compliant e-invoice from the supplier.
Invoice serial does not match registry
Likely cause. The serial captured by OCR is wrong, or the supplier issued the invoice outside their registered range.
Fix. Open the exception in BancoOS, compare the captured serial against the PDF, and correct it if OCR was wrong. If the registry still has no record, ask the supplier to re-issue.
Total amount mismatch
Likely cause. The total on the captured invoice does not equal the total registered with GDT (commonly a discount or VAT line difference).
Fix. Review the line items and tax computation in the exception view. If the supplier registered an incorrect total, request a credit note or corrected e-invoice.
Duplicate invoice flag
Likely cause. The same invoice serial and seller MST were already validated against another invoice in the workspace.
Fix. Open both invoices side-by-side in BancoOS. Reject the duplicate; if it is a legitimate re-submission, mark the original as superseded so the audit trail is preserved.
GDT registry temporarily unreachable
Likely cause. Planned GDT maintenance or a network incident.
Fix. BancoOS queues validation requests and retries automatically. Invoices remain in a 'pending validation' state and are not approved or paid until the registry confirms. No manual action is required.
Frequently asked questions
- What does GDT validation check?
- Seller MST, invoice serial number, invoice template, issue date and total amount are checked against the GDT registry. Mismatches, duplicates and unregistered suppliers are flagged before the invoice enters approval.
- Does BancoOS issue outbound e-invoices?
- BancoOS focuses on the AP side — validating inbound e-invoices from suppliers. Outbound issuance is typically handled by your existing e-invoice provider; BancoOS reconciles issued invoices for completeness.
- How long are GDT validation responses retained?
- The signed GDT registry response is stored against the invoice for the full statutory retention period — at least 10 years — so auditors can replay any validation event without re-querying GDT.