Odoo Community Association

Venezuela - Electronic Invoicing

Beta License: LGPL-3 OCA/l10n-venezuela Translate me on Weblate Try me on Runboat

This addon provides a provider-neutral electronic invoicing workflow for Venezuelan customer documents issued through digital billing.

It defines a neutral document payload, a four-method provider contract, an outbound state machine, asynchronous control-number fetching, cancellation, scheduled processing, and an immutable audit log. Concrete provider adapters can be installed separately without changing the fiscal payload builder.

A dummy provider is included for testing. It does not contact an external service and must not be selected in production.

The addon relies on l10n_ve_fiscal_document for the emission-medium snapshot and its trusted, in-process control-number assignment API.

Table of contents

Configuration

  1. On each relevant Venezuelan sales journal, select Digital billing as the emission medium.
  2. In Accounting settings, select the electronic document provider and enter the provider configuration supplied for that company.
  3. Keep the scheduled action disabled until a production provider adapter is installed and the company is authorized to issue digital documents.

Provider URL, user, and password fields are restricted to system administrators. A concrete adapter that needs to read them while processing a request from another user must do so in a narrowly scoped, explicit elevated operation. Adapters must never include credentials or authentication material in their neutral results or exception messages.

Usage

Posting a customer document from a journal configured for digital billing queues it when the company has a provider selected.

Use Send Electronic Document to send it immediately. Synchronous providers assign the control number in that operation. Asynchronous providers leave the document in Sent, Awaiting Control Number until Fetch Control Number or the scheduled action retrieves it.

Use Cancel Electronic Document to request cancellation from the provider. This operation does not cancel the accounting entry in Odoo.

Every provider call creates a read-only log. Accounting users only see logs for their currently allowed companies. Common secret-bearing keys are redacted before request or response values are persisted.

Provider addons inherit l10n.ve.edoc.provider and implement _edoc_send, _edoc_fetch, _edoc_cancel, and _edoc_test_connection. Send and fetch must return a mapping with external_id, control_number, and control_date.

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.

Credits

Authors

  • BWEALTHICS LLC

Maintainers

This module is maintained by the OCA.

Odoo Community Association

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

Current maintainer:

bwealthics

This module is part of the OCA/l10n-venezuela project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.