| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Discuss (mail) |
| Lines of code | 1516 |
| Technical Name |
verifactu_event_log_export |
| License | OPL-1 |
| Website | https://gencbaris.com/odoo_plugins/ |
| Versions | 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Discuss (mail) |
| Lines of code | 1516 |
| Technical Name |
verifactu_event_log_export |
| License | OPL-1 |
| Website | https://gencbaris.com/odoo_plugins/ |
| Versions | 18.0 19.0 |
Spain SIF Event Log & Veri*factu Export
Generate the SIF event log (registro de eventos) and the billing-record list for AEAT on-demand submission â BYOK
What this module does
Spanish billing-software regulation RD 1007/2023 (the SIF regulation) and development order HAC/1177/2024 require a compliant billing system (Sistema Informatico de Facturacion, SIF) to keep a tamper-evident event log and to be able to hand the AEAT, on demand, both the event-log file and the list of billing records. This module generates exactly those two files inside your Odoo database, fully fingerprinted and chained, ready for you to submit through your own AEAT credentials.
BYOK boundary: this module is a format generator. It
builds the event-log XML and the
RegFactuSistemaFacturacion record-list XML and
stores them as downloadable attachments. Submission to the AEAT
is performed by you, with your own electronic certificate /
credentials. The module never transmits anything and never
impersonates a certified device.
Key features
Full SIF event catalogue
The complete Article 16 / HAC-1177-2024 event types: system start-up and shut-down, anomaly-detection launch and detection (records and event log), record-export, backup restore, alta/anulacion generation, period summary, expedition-mode change and AEAT-transmission incidents.
Tamper-evident fingerprint chain
Every event and every billing record carries a SHA-256 huella (64 uppercase hex characters) computed over its own content plus the previous fingerprint, exactly as the hash specification prescribes. Any deletion or alteration breaks the chain, and the built-in verifier pinpoints the break.
Billing-record list (RegFactu)
Translate posted customer invoices into the AEAT
RegFactuSistemaFacturacion envelope, with a
Cabecera (ObligadoEmision + RemisionVoluntaria),
one RegistroAlta / RegistroAnulacion
per invoice, a per-rate VAT breakdown
(BaseImponible / CuotaRepercutida) and the chained huella.
NIF / CIF / NIE validation
The obligated-issuer and software-provider identifiers are validated with the official Spanish control-character algorithms (DNI mod-23 letter, NIE prefix mapping, CIF weighted control), surfaced as Odoo constraints so a bad identifier is caught before you export.
Pre-submission business rules
Validate the file before you upload it: valid issuer NIF, non-empty intact chain, mandatory lifecycle events of a clean period, and net + VAT = total / breakdown-VAT = CuotaTotal cross-checks. Findings are listed with severity so you fix the data in Odoo instead of round-tripping the AEAT validator.
Period summary & export logging
Each export can append a type-10 period summary (event counts, anomaly count, first/last timestamp) and automatically records a type-06 export event, so the audit trail stays complete across successive on-demand files.
Event-type catalogue
| Code | Event |
|---|---|
| 01 | System start-up |
| 02 | System shut-down |
| 03 | Anomaly-detection process launched |
| 04 | Anomaly detected in billing records |
| 05 | Anomaly detected in the event log |
| 06 | Billing-records export |
| 07 | Backup restore |
| 08 | Generation of an alta billing record |
| 09 | Generation of an anulacion billing record |
| 10 | Period event summary |
| 11 | Expedition-mode change (Veri*factu / no Veri*factu) |
| 12 | AEAT transmission incident |
How it works
- Configure the obligated-issuer NIF and the SistemaInformatico block on the company form (name, id, version, installation, provider NIF).
- Log SIF lifecycle events as they happen, or let the module record exports automatically; the fingerprint chain is rebuilt on every change.
- Open Generate Export, pick a month and a kind (event log or billing-record list), and validate.
- Generate the XML file, download it, and submit it to the AEAT with your own credentials.
Compliance & scope
This module builds and stores the SIF event-log XML and the billing-record-list XML in your Odoo database. It implements the published event catalogue, the SHA-256 fingerprint chaining and the Spanish fiscal-identifier control algorithms. It does not transmit data to the AEAT and is not a certified transmission device; submission is performed by you, the registered taxpayer, through your own AEAT channel.
Screenshots
Sif Events
Sif Exports
Generate Export
Log Event
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