ECAV SIFEN

Electronic invoicing in Odoo for Paraguay: SIFEN without leaving Odoo

Stamp from the Odoo invoice and let ECAV sign, send and reconcile with the DNIT. A module for Odoo 17 connected to the ECAV SIFEN gateway, the same one ECAV's own Odoo systems already use in production.

ECAV SIFEN for Odoo
Quick look
17
Odoo version
Timbrar
button on the invoice
KuDE
automatic on approval
How it works

How does SIFEN electronic invoicing work in Odoo with ECAV?

Odoo does not talk to the DNIT on its own. The ecav_sifen_client module builds the document from the invoice, on top of the Paraguayan localization l10n_einvoice_py, sends it to the ECAV SIFEN gateway and applies the result that comes back. The gateway signs it with your certificate, sends it to the DNIT and stores the CDC, the signed XML and the KuDE.

For the person invoicing, the flow is:

  1. You confirm the invoice in Odoo, as usual.
  2. With the Issuer profile you press “Timbrar”, or the automatic issuing cron does it if you turned it on.
  3. The gateway accepts the document and returns an identifier: issuing is asynchronous.
  4. Odoo waits a few seconds for the result. If it has not arrived, a cron asks again every 10 minutes, and the gateway can also notify by webhook.
  5. The invoice ends in a state (Authorized, Approved with remarks, Rejected, Cancelled or Error) and the result is logged in the chatter.

When several documents are sent together they go in a single request, so the gateway groups them into the same SIFEN batch.

Documents

Which documents can I issue from Odoo?

  • Electronic sales invoices.
  • Electronic credit notes, from Odoo credit notes.
  • Electronic self-billing invoices, from vendor bills with that document type.
  • Electronic delivery notes, with the transport block: reason for the transfer, vehicle and carrier.

Besides stamping, from Odoo you can void a document with the “Anular” button and its reason, and send the other SIFEN events (range invalidation, buyer confirmation, transport data and receiver events). Each event is logged with its result, because a document can have several over its life.

What we do not cover today: e-Kuatia'i, the DNIT's simplified regime, and export or import invoices. If you are not sure e-Kuatia'i is enough for you, we explain it on the SIFEN page.

Setup

What do I have to configure in Odoo?

Before stamping you need the DNIT requirements sorted out: .p12 certificate, enablement, timbrado and CSC. In Odoo they are loaded like this:

  • Certificate and CSC. The .p12, its password, the CSC and the CSC ID go on the company's fiscal tab. Only the system administration group can see them: not even the Issuer profile has access.
  • Gateway connection. The URL and the API key (sk_test_ or sk_live_) go on the company's “ECAV API” page.
  • Environment. Test or production. It has to match the key: the gateway rejects an inconsistent combination.
  • Webhooks. The “Sincronizar webhooks” button fetches the secret Odoo uses to validate each signed notice.
  • Automatic issuing. Optional and off by default. It waits 15 minutes by default before issuing so you can still fix things, and it does not pick up documents older than 7 days.
  • Economic activities. They sync from the gateway with a button and a weekly cron.

Certificates expire, so a daily cron warns you before the .p12 runs out.

Rejections and states

What happens if the DNIT rejects an invoice or is slow to answer?

The invoice state in Odoo comes from the state the gateway reports. The SIFEN code only describes what happened; it does not decide the state. These are the states:

State in OdooWhat it means
In process Queued, not signed yet.
Signed It already has a CDC and XML; the DNIT verdict is still missing.
Authorized Approved by SIFEN. It generates the KuDE.
Approved with remarks Valid, with a remark from the DNIT. It generates the KuDE.
Rejected SIFEN rejected it; the chatter shows the code and the explanation.
Cancelled Voided or invalidated.
Error Technical error, with no SIFEN verdict.

Two safeguards prevent the costliest mistake, issuing the same number twice. Odoo does not let you reset to draft an invoice the DNIT already holds in progress or approved: you fix it with a credit note or the cancellation event. And once the CDC is issued, its security code is kept: confirming the invoice again does not produce a different CDC for the same number. Resending a CDC the DNIT already knows is rejected as a duplicate and can end with the issuer RUC being blocked.

If the rejection comes from your own data (a receiver detail, an amount), you fix it and issue again. The module's response catalog carries 350 SIFEN codes with their explanation.

For your accountant

What does my accountant get?

Each approved invoice has its signed XML and its KuDE as a PDF, the graphical representation of the document, downloadable from the invoice itself. The DNIT result lands in the chatter with an icon per category (success, pending, error, informational), so the history of each invoice reads without leaving Odoo.

On the customer form, the “Consultar en el padrón” button brings the name, check digit and status from the DNIT public registry, the same one behind the free RUC lookup tool. Payments also get a PDF receipt that Odoo builds and that is not a tax document.

Permissions and testing

Who can stamp, and how do I test before going to production?

The module ships three access profiles. The User prepares documents and sees the SIFEN state, but does not issue. The Issuer adds the “Timbrar” and “Anular” buttons and the bulk actions. The Administrator adds the fiscal configuration. That way you separate who enters invoices from who sends them to the DNIT.

To test, set the company environment to test and use an sk_test_ key: the gateway sends to the DNIT test environment and nothing you issue there has fiscal effect. When everything works, you switch to production with an sk_live_ key. The first month of ECAV SIFEN is free and asks for no card.

API or Odoo

When is the API a better fit than the Odoo module?

If your system is not Odoo, or if another system (a point of sale, an e-commerce site) has to issue without going through Odoo, use the SIFEN API: it is the same gateway the module uses. If you do not use Odoo yet and want a full ERP, look at ECAV ERP, the Odoo ERP with Paraguayan localization. And if you do not need an ERP, the portal lets you issue with nothing to install.

Plans

How much does e-invoicing with ECAV in Odoo cost?

The plans are those of ECAV SIFEN, by monthly document volume, with the first month free and no card. A document the DNIT rejects does not use up quota. There is more detail on pricing.

Starter
Gs. 100,000 /mo

Up to 200 documents per month

Gs. 1,000,000 per year (2 months free)

Business
Gs. 300,000 /mo

Unlimited documents (fair use) · VAT included

Gs. 3,000,000 per year (2 months free)

Fair use on Business: above 3,000 documents a month we reach out to make sure you are on the best plan.

FAQs

Frequently asked questions about e-invoicing in Odoo

Which Odoo version does it work with?

ECAV's SIFEN modules are for Odoo 17.

Which modules are involved?

The base l10n_einvoice and l10n_einvoice_py (Paraguayan localization), ecav_sifen_client (the SIFEN client) and ecav_api_client (the gateway connection and credentials).

Do I have to install anything to sign or to talk to the DNIT?

No. The module only builds the document. Signing, sending to the DNIT and custody of the batch are done by the ECAV gateway. You load the certificate on the Odoo company.

What happens if the DNIT or the gateway does not answer?

The document stays in process and is not lost: the query cron asks again every 10 minutes, and the gateway retries when the DNIT is down.

Can I void an invoice that is already authorized?

Yes, with the “Anular” button and a mandatory reason. The cancellation event is sent to SIFEN within the deadline the DNIT sets.

Can I test without really issuing?

Yes. With the environment on test and an sk_test_ key the gateway uses the DNIT test environment, and the first month is free.

How much does it cost?

From Gs. 100,000 a month depending on document volume, with the first month free. See the plans above and pricing.

Let's talk about your company.

Book 30 minutes with a consultant. No script, no slides. We show you the product and tell you if it fits.

WhatsApp