Skip to content

💡 [Feature Request] - Native VERI*FACTU integration for Spain (and extensible electronic invoice submission providers) #1548

Description

@cedricchristoph

Summary

Add support for country-specific electronic invoice submission providers, starting with Spain's VERI*FACTU system.

The feature would allow Frappe Books to optionally submit invoices to government-mandated electronic invoicing systems while keeping the existing invoicing workflow unchanged. A provider-based architecture would also make it possible to support similar systems in other countries in the future.

What problem are you trying to solve?

Frappe Books is an excellent desktop accounting application for freelancers and small businesses. However, in Spain, businesses are moving towards mandatory compliance with the VERI*FACTU invoicing system defined by the Spanish Tax Agency (AEAT).

Without VERI*FACTU support, Spanish businesses cannot rely on Frappe Books as their primary invoicing solution once the regulation applies to them, even though the rest of the application already meets most of their needs.

Adding support for VERI*FACTU would make Frappe Books a viable option for Spanish users and could serve as the foundation for supporting similar electronic invoice reporting systems required by other countries.

OFFICIAL documentation and information about VERI*FACTU

Basic Example

A possible workflow could be:

  1. The user enables an optional Invoice Submission Provider in the company settings.

  2. The user selects Spain – VERI*FACTU as the provider and configures the required credentials or digital certificate.

  3. The user creates the invoice normally and clicks Finalize (or Submit).

  4. Before the invoice PDF is generated, Frappe Books creates the required VERI*FACTU invoice record and submits it to the Spanish Tax Agency (AEAT).

  5. Once the submission succeeds (or once all required QR information is available), Frappe Books generates the final invoice PDF, automatically embedding:

    • the mandatory VERI*FACTU QR code,
    • the required text ("VERI*FACTU" or "Factura verificable en la sede electrónica de la AEAT"),
    • and any other metadata required by the regulation.
  6. The finalized PDF is stored as the official invoice and is the version delivered to the customer.

  7. The invoice record stores the submission status, response identifier, and any provider-specific metadata for future verification or auditing.

  8. If the submission fails, the invoice remains in a pending/error state and the final PDF is not generated until the issue is resolved or the submission is retried.

Using a provider-based architecture would also allow future support for other countries' electronic invoice reporting systems without changing the core invoicing workflow.

Drawbacks

Implementing this feature would introduce additional maintenance work because tax authority specifications can evolve over time and may require updates.

Supporting country-specific regulations also increases the scope of the project. For this reason, implementing the functionality behind a modular provider interface would help isolate country-specific logic from the core application and make future maintenance easier.

Since the feature would be optional and disabled by default, it would not affect users who do not need electronic invoice submission.

Reference Issues

No response

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions