Cambodia CamInvoice Inbound
Receive cleared GDT CamInvoice supplier documents — import UBL 2.1 into draft vendor bills automatically
The receiving side of Cambodia's General Department of Taxation (GDT) CamInvoice system. When your supplier clears a sale, you receive the same OASIS UBL 2.1 Invoice / CreditNote — carrying the GDT clearance UUID and verification code. This module pulls those documents (or accepts a manual upload), parses them back into Odoo, matches the supplier and creates the matching draft vendor bill, with a hard guard against booking the same cleared document twice.
Inbound UBL 2.1 parser
A tolerant, namespace-agnostic parser reads CamInvoice and accredited-service-provider exports back into Odoo: supplier & buyer parties (incl. bilingual Khmer trade names), S/Z/E/O tax categories, per-line items, document & line tax totals, credit-note references and the GDT clearance UUID. Hardened against XXE and oversized payloads.
Automatic vendor bills
Suppliers are matched by GDT VAT-TIN (then VAT / name); a draft
in_invoice / in_refund is built with resolved
purchase taxes and the correct currency. One click creates a vendor for
unknown suppliers. The GDT clearance UUID is unique per company, so
re-polling never double-books a supplier invoice.
Received-inbox polling (BYOK)
OAuth client-credentials or pre-obtained token authentication lists the documents addressed to your taxpayer and downloads each cleared UBL by UUID. Editable sandbox / production endpoints, retry & backoff and full transport logging are inherited from the e-Invoice Core Engine. A scheduled cron drains the inbox on your interval.
Validation & reconciliation
Before a document is booked, the inbound rule set checks the supplier
TIN, the presence of the clearance UUID, the KHR/USD currency and the
tax categories, then recomputes line & tax sums and compares them to
the declared LegalMonetaryTotal — flagging truncated or
tampered payloads.
What you get
- Tolerant inbound UBL 2.1 Invoice / CreditNote parser (Odoo-free, unit-tested).
- Received-inbox polling + one-by-one download by UUID over the CamInvoice REST API.
- Automatic draft vendor-bill creation with supplier matching and purchase-tax resolution.
- Double-booking guard on the GDT clearance UUID (received document & vendor bill).
- Totals reconciliation and a Cambodia inbound business-rule validation profile.
- Manual import wizard: paste the UBL XML or upload the file, preview, then import.
- Scheduled polling cron, connection model and a full audit trail on every document.
Bring your own key
Your CamInvoice credentials and TIN are stored solely on your own database and are transmitted only to the GDT CamInvoice endpoint you configure. The module contains no bundled credentials and reaches no third-party service. Built on the shared e-Invoice Core Engine and the Cambodia CamInvoice outbound connector — no functionality is duplicated.
Compatible with Odoo 18 and Odoo 19.
Screenshots
Inbound Caminvoice Parsed Fr
Update date: 2026-07-02