| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Invoicing (account) |
| Community Apps Dependencies | Show |
| Lines of code | 4471 |
| Technical Name |
l10n_kh_caminvoice_inbound |
| License | OPL-1 |
| Website | https://gencbaris.com/odoo_plugins/ |
| Versions | 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Invoicing (account) |
| Community Apps Dependencies | Show |
| Lines of code | 4471 |
| Technical Name |
l10n_kh_caminvoice_inbound |
| License | OPL-1 |
| Website | https://gencbaris.com/odoo_plugins/ |
| Versions | 18.0 19.0 |
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.
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module