Not every business can — or should — replace its ERP or billing systems to meet VeriFactu requirements. In most cases, compliance can be achieved by adding an integration layer that adapts existing outputs.
The choice of pattern depends on how your current systems expose data and how much control you have over them.
Pattern 1: API connector (best for modern ERP/POS)
This is the most robust option. An API connector listens for invoice events, for example “invoice issued”, and processes them in real time. It normalises the data, generates the required record, applies QR and hash logic, and optionally transmits the record if operating in VERI*FACTU mode.
The key advantage is control. The system can enforce validation rules, handle retries, and prevent duplicate submissions through idempotency controls.
The main risk is dependency on API availability. If events are not triggered correctly, records may be missed.
This approach is best suited to modern ERP or POS systems with reliable API access.
Pattern 2: PDF or print gateway when there is no API
When systems cannot expose data via API, outputs can be intercepted.
A gateway processes invoice PDFs or print streams, adding QR codes and generating a parallel structured record store.
The key advantage is minimal system change.
The main limitation is reduced visibility into underlying tax logic. More complex scenarios may require reconciliation to ensure consistency between the document and the record.
This approach is best suited to legacy systems where output is accessible but internal logic is not.
Pattern 3: Database or CDC replication layer
Where direct application access is limited, data can be replicated.
A read-only database or change data capture layer extracts invoice data, transforms it, and generates compliant records without affecting production systems.
The key advantage is low impact on core systems.
This approach requires controls such as daily reconciliation, drift detection, and escalation of mismatches.
The main risk is lag between source data and processed records if replication is delayed.
This approach is best suited to environments where database access is available but application changes are restricted.
Pattern 4: RPA as a last resort for legacy environments
Robotic process automation can simulate user actions to extract and process data. This is not ideal, but it can be used as an interim solution.
The key advantage is speed of deployment in constrained environments.
The main risk is fragility. Changes in user interfaces or processes can break the automation, so it requires close monitoring and strong documentation.
This approach is best suited to low volume, short-term compliance, or as a bridge to a more stable solution.
Pattern 5: Manual or AEAT tool fallback
For low volume or contingency scenarios, manual submission may be used. This ensures continuity if systems fail or for micro-scale operations.
The key advantage is simplicity.
The main limitation is that it does not scale and carries a higher risk of error and delay.
This approach is best suited to contingency planning rather than primary compliance.
The objective is not to choose the most complex solution, but to select an approach that fits your system capabilities while maintaining control, traceability, and continuity.