Metadata-Version: 2.4
Name: unpaismejor_ecf_engine_connector
Version: 8.0.4
Summary: e-CF engine connector for Tryton Dominican Republic invoices
Project-URL: homepage, https://www.tryton.org/
Project-URL: repository, https://code.unpaismejor.org.do/tryton-do/ecf_engine_connector
Author: Fundación Un País Mejor
Maintainer: Fundación Un País Mejor
License-Expression: GPL-3.0-or-later
License-File: COPYRIGHT
License-File: LICENSE
Keywords: dgii,dominican-republic,ecf,invoice,tryton
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Plugins
Classifier: Framework :: Tryton
Classifier: Topic :: Office/Business
Classifier: Topic :: Office/Business :: Financial :: Accounting
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.11
Requires-Dist: certifi
Requires-Dist: lxml<6,>=4.9
Requires-Dist: pillow<13,>=10
Requires-Dist: qrcode<9,>=7
Requires-Dist: trytond<8.1,>=8.0
Requires-Dist: unpaismejor-account-debit-note<8.1,>=8.0
Requires-Dist: unpaismejor-ncf-manager<8.1,>=8.0
Provides-Extra: test
Requires-Dist: proteus<8.1,>=8.0; extra == 'test'
Description-Content-Type: text/x-rst

###########################
Ecf Engine Connector Module
###########################

The ``ecf_engine_connector`` module integrates Tryton invoices with an external
Dominican Republic e-CF engine.

It works as the electronic fiscal layer above ``ncf_manager``. The module keeps
NCF assignment and fiscal validation in ``ncf_manager`` and adds e-CF payload
generation, engine submission, status tracking, QR data, signed XML storage,
and print-readiness fields.

Functional Scope
================

* Builds DGII e-CF payloads from posted Tryton invoices.
* Supports electronic NCF types 31, 32, 33, 34, 41, 43, 44, 45, 46, and 47.
* Sends documents to the configured e-CF engine.
* Tracks pending, accepted, rejected, and error states.
* Stores engine response data, QR image data, and signed XML attachments.
* Adds credit-note and debit-note electronic modification fields without
  replacing the accounting note workflows.

Compatibility
=============

The module targets Tryton 8.0 and depends on ``ncf_manager``. Through that
dependency it is designed to run with:

* ``account_do``
* ``account_invoice_do``
* ``account_credit_note``
* ``account_debit_note``
* ``account_invoice_apply_credit_note``
* ``ncf_manager``

Packaging
=========

The package is built with ``hatchling`` and ``hatch-tryton`` and publishes as
``unpaismejor_ecf_engine_connector``.

Safe transmission defaults
==========================

Posting an invoice builds and validates its e-CF payload but does not transmit
it by default. Transmission requires the explicit ``Enviar e-CF`` action or an
opt-in company setting. Production additionally requires the independent
``Autorizar transmisiones en producción`` switch. See ``doc/compliance.rst``.

