Cambodia CamInvoice Credit Notes
GDT CamInvoice UBL 2.1 CreditNote flows for Odoo — UNCL5189 reason codes, original-document UUID referencing & multi-invoice credit allocation
Extends the Cambodia CamInvoice connector with everything a GDT
credit note (UBL CreditNote, document type 381)
requires beyond a plain invoice. A credit note adjusts a previously
cleared invoice — a return, a post-sale discount, a price or
quantity correction, or a cancellation — and the General Department
of Taxation reconciles the output-VAT reversal against the original
cleared document.
Odoo 18 Odoo 19 UBL 2.1 UNCL5189 BYOK
UNCL5189 reason codes
A curated CamInvoice credit-note reason catalogue — return of goods, defective goods, post-sale discount, price / quantity / tax corrections, duplicate and order cancellation — each classified by its VAT effect and emitted as a UBL DiscrepancyResponse (ResponseCode + Description) on the credit note.
Original-document referencing
The credit note carries the original invoice number, issue date and, where the original was already cleared, its GDT clearance UUID. Return and cancellation reasons require the UUID; a back-fill job completes it once the original clears.
Multi-invoice credit allocation
A return frequently spans several cleared invoices. A deterministic largest-remaining-first allocation engine splits the credit into one single-original credit note per referenced invoice, never over-crediting any original's remaining balance, with an exact two-decimal residual sweep so the parts sum precisely to the requested credit.
Credit-note validation
A kh_caminvoice_cn rule set layered on the base Cambodia
rules: document type, valid reason code, original reference and UUID, and
an over-crediting guard — run before submission so the GDT does not
reject the document.
Built on the e-Invoice Core Engine
Built on the base l10n_kh_caminvoice connector and the shared e-Invoice Core Engine (UBL 2.1 builder, validation framework, BYOK REST transport). No engine or base functionality is duplicated — this module adds the reason catalogue, the enriched UBL credit-note generator, the credit-note validation profile and the credit-allocation engine. Clearance reuses the base connector's bring-your-own-key transport: your CamInvoice credentials and TIN are stored only on your own database and are transmitted solely to the CamInvoice endpoint you configure.
Feature summary
- UNCL5189 adjustment reason codes with VAT-effect classification.
- UBL 2.1 CreditNote generation with DiscrepancyResponse and BillingReference (number, date, original cleared UUID).
- Positive credit magnitudes and S/Z/E/O tax-category bucketing.
- Largest-remaining-first multi-invoice credit allocation wizard.
kh_caminvoice_cnbusiness-rule validation profile.- Original-UUID back-fill scheduled action.
- BYOK clearance via the base connector — Odoo 18 & 19.
Disclosure: this is a bring-your-own-key (BYOK) module. We are not an e-invoicing integrator, operator or clearance agent — the clearance relationship is strictly between you and the General Department of Taxation (GDT). Credit notes are transmitted only to the CamInvoice endpoint configured on the base connector, authenticated with your own credentials; no data is sent anywhere else. Product support is provided and the purchase is refundable per the marketplace policy.
Screenshots
Caminvoice Credit Note Retur
Generated Caminvoice Credit
Update date: 2026-07-02