Skip to main content
Nigeria FIRS Peppol E-Invoicing for ERPNext — A build-to-order ERPNext app that maps your Sales Invoices to Nigeria's FIRS na — 1/1Illustrative preview

A build-to-order ERPNext app that maps your Sales Invoices to Nigeria's FIRS national e-invoicing regime over

Peppol BIS Billing, handling B2B e-invoicing, B2C e-reporting, Access Point submission and status tracking.

ECOSIRE scopes, builds, installs and supports it for you.

What is Nigeria FIRS Peppol E-Invoicing for ERPNext?

A build-to-order ERPNext app that maps your Sales Invoices to Nigeria's FIRS national e-invoicing regime over Peppol BIS Billing, handling B2B e-invoicing, B2C e-reporting, Access Point submission and status tracking. ECOSIRE scopes, builds, installs and supports it for you. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

Peppol BIS Billing 3.0 UBL XML generation mapped to the FIRS Nigeria e-invoicing specification, driven from the ERPNext `Sales Invoice` DocType
`hooks.py` doc events (`on_submit`, `on_cancel`) that generate, submit and cancel e-invoices automatically as invoices move through their lifecycle
Dedicated `E-Invoice Log` DocType storing outbound XML, IRN, QR payload, Access Point response and a `Pending`/`Cleared`/`Rejected`/`Cancelled` status per invoice
Access Point / service-provider submission connector with endpoints and credentials centralised in a `FIRS E-Invoicing Settings` DocType (sandbox vs production toggle)
Whitelisted server-side methods exposed over the Frappe REST API for submit, resubmit, status poll and clearance-response retrieval
Scheduler event that reconciles still-`Pending` invoices against the Access Point on a fixed cadence so nothing stalls silently
B2B per-invoice clearance workflow separated from the B2C e-reporting (batched reporting) path, each with its own logging and retry logic
Nigeria VAT category-code mapping and Withholding Tax line derivation from your existing ERPNext tax templates and accounts
Party identifier handling for supplier and customer including TIN, scheme IDs and Peppol participant identifiers
Client scripts adding status badges, the FIRS QR code and a `Resubmit to FIRS` button to the Sales Invoice form
Server-side schema and business-rule validation that blocks or flags non-conformant invoices before submission with actionable error messages
Dedicated role profile and permission rules scoping submission and settings access to tax/compliance users
Retry and error-capture handling with the full Access Point error payload persisted for audit and dispute resolution
Compatible with Frappe/ERPNext v15 and v16, packaged as a standard installable Frappe app on your bench

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your ERPNext.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

ERPNext Compatibility
—
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
MariaDB 10.6+

About this Product

Nigerian large taxpayers moving onto the FIRS national e-invoicing regime hit a wall with stock ERPNext very quickly. ERPNext gives you a clean Sales Invoice DocType, tax templates and print formats, but it has no concept of a Peppol BIS Billing document, no FIRS-specific validation rules, no Access Point handshake, and no way to carry the Invoice Reference Number (IRN), QR payload or clearance status back onto the invoice. Finance teams end up re-keying invoices into a portal or a third-party bridge, reconciling two sources of truth, and discovering rejections days later when a customer disputes a bill. That is exactly the gap this app is built to close.

ECOSIRE builds a proper Frappe app (for example firs_einvoicing) that installs cleanly on your ERPNext v15 or v16 bench and layers the FIRS regime directly onto your existing invoicing flow. The core is a mapping engine that converts a submitted Sales Invoice into a Peppol BIS Billing 3.0 UBL XML document tailored to the FIRS Nigeria specification: supplier/customer party identifiers (including TIN and scheme IDs), line-level allowances and charges, VAT category codes, and Withholding Tax lines derived from your ERPNext tax templates. hooks.py doc events (on_submit, on_cancel) trigger generation and submission, while a dedicated E-Invoice Log DocType stores the outbound XML, the FIRS/Access Point response, IRN, QR code and a status field (Pending, Cleared, Rejected, Cancelled) so every invoice carries an auditable trail.

Submission is handled through the Access Point / service-provider model that FIRS uses under Peppol. We implement the transport as configurable connector logic with credentials and endpoints held in a single FIRS E-Invoicing Settings DocType, so sandbox and production environments are a toggle rather than a code change. Whitelisted server-side methods exposed via the Frappe REST API let you (re)submit, poll status and fetch the clearance response for a given invoice, and a scheduler event reconciles any invoices still Pending against the Access Point on a fixed cadence so nothing silently stalls. B2C transactions follow the e-reporting path rather than per-invoice clearance, batched and reported on schedule, with the same logging and retry semantics. Client scripts surface status badges, the QR code and a "Resubmit to FIRS" action on the Sales Invoice form, and a dedicated role profile plus permission rules keep submission and settings access scoped to your tax/compliance users.

Because this is build-to-order, nothing ships as a blind download. We start with a scoping call to confirm your entity structure, VAT and WHT treatment, invoice volumes, the specific FIRS/Access Point provider you are onboarding with, and your ERPNext version. We then build against your real chart of accounts and tax templates, validate generated XML against the current FIRS Peppol schema and business rules, and run UAT on a staging bench with your own sample invoices before touching production. Typical delivery is one working week from confirmed scope depending on complexity. You receive the installable source, install and configuration on your bench, technical and user documentation, a training session, and a post-go-live support window — plus the full git repository so your team or ours can maintain it going forward.

What you get

  • Installable source code for your build (a standard Frappe app, e.g. `firs_einvoicing`) targeting your ERPNext v15/v16 version
  • Installation and configuration on your bench, including `FIRS E-Invoicing Settings`, role profile and Access Point credentials wiring
  • Technical documentation: DocTypes, hooks, whitelisted methods, scheduler events and the XML mapping reference
  • User guide plus a live training session for your finance/tax compliance team
  • UAT on a staging bench with your own sample invoices, and a documented rollback plan
  • Post-go-live support window for defect fixes and FIRS/Access Point onboarding issues
  • Full git repository handover so your team (or ECOSIRE) can maintain and extend it

Who this is for

Large-taxpayer tax & compliance lead

Owns FIRS obligations and needs invoices cleared over Peppol with a defensible audit trail (IRN, XML, clearance status) without re-keying into an external portal.

ERPNext / finance systems manager

Runs the ERPNext bench and wants a clean, upgrade-safe Frappe app that layers e-invoicing onto existing Sales Invoice flows rather than a fragile external bridge with two sources of truth.

Financial controller at a multi-entity Nigerian group

Needs consistent VAT and Withholding Tax mapping, B2B clearance and B2C e-reporting handled across entities, with reconciliation of pending submissions so nothing is missed at month-end.

Head of IT integrating with an Access Point provider

Is onboarding with a FIRS-accredited service provider and needs the ERPNext side to speak the right transport, handle sandbox-to-production cutover, and expose REST methods for monitoring.

How Nigeria FIRS Peppol E-Invoicing for ERPNext Compares

CriterionECOSIRECustom BuildCompetitorERPNext Native
FIRS Peppol XML mappingPurpose-built BIS Billing mapping validated against FIRS rulesBuilt from scratch in-house, long spec-reading effortGeneric Peppol, rarely FIRS-Nigeria specificNo Peppol or FIRS concept at all
Access Point submissionConnector wired to your provider, sandbox/prod toggleYou design and maintain the transport yourselfMay assume one fixed provider or regionNone
Status, IRN & QR tracking`E-Invoice Log` DocType with per-invoice status and QRDepends entirely on what you buildVaries; often minimal loggingNot available
VAT & WHT handlingMapped from your real ERPNext tax templatesYou wire it yourself against your accountsGeneric tax mapping, may need reworkERPNext tax templates but no e-invoice mapping
Fit to your setupBuilt for your entities, versions and volumesFully bespoke but you own all the riskOne-size-fits-all, configure around itGeneric ERPNext only
Delivery & supportone working week, install, docs, training, support windowTimeline and support depend on internal capacityInstant install but self-serve supportNo delivery; you build everything
OwnershipFull git repo handover, you can self-maintainYou own the code and all maintenanceVendor-locked, closed or licensedN/A
Upgrade safety (v15/v16)Standard Frappe app built and tested on your versionRisk depends on how it was writtenMay lag ERPNext releasesCore only, no e-invoicing

Frequently Asked Questions about Nigeria FIRS Peppol E-Invoicing

Is this an existing app I can download and install right now?

No. This is a build-to-order engagement. ECOSIRE builds the Frappe app against your ERPNext version, your chart of accounts and tax templates, and the specific FIRS Access Point provider you are onboarding with, then installs and supports it. There is no instant download.

How long does delivery take?

Typical delivery is one working week from confirmed scope, depending on complexity such as multi-entity setups, custom tax treatments and your Access Point provider's onboarding timeline. We agree a firm timeline after the scoping call.

Which ERPNext versions are supported?

Frappe/ERPNext v15 and v16. We build and test against your exact bench version so the app installs cleanly and survives your upgrade path.

How does it submit to FIRS?

FIRS operates its national e-invoicing regime over Peppol using Access Points / accredited service providers. The app generates the Peppol BIS Billing XML and submits through your chosen Access Point, with endpoints and credentials held in a single settings DocType so sandbox and production are a toggle.

Does it handle both B2B and B2C?

Yes. B2B invoices follow the per-invoice clearance path with IRN and status tracking, while B2C transactions follow the e-reporting path (batched reporting on a scheduler event). Both share the same logging, validation and retry logic.

How does it stay in sync if FIRS or the Access Point changes rules?

During your post-go-live support window we address defects and adapt to specification or Access Point changes covered by scope. Because you receive the full git repository, your team can also maintain and extend the app, and we offer ongoing support arrangements beyond the initial window.

What if the app is not installed on our production system?

We deliver against a staging bench first, run UAT with your own sample invoices, and only cut over to production with a documented rollback plan. If something is wrong, we roll back and fix on staging before retrying.

Request a quote

Nigeria FIRS Peppol E-Invoicing

A build-to-order ERPNext app that maps your Sales Invoices to Nigeria's FIRS national e-invoicing regime over Peppol BIS Billing, handling B2B e-invoicing, B2C e-reporting, Access Point submission and status tracking. ECOSIRE scopes, builds, installs and supports it for you.

  • Peppol BIS Billing 3.0 UBL XML generation mapped to the FIRS Nigeria e-invoicing specification, driven from the ERPNext `Sales Invoice` DocType
  • `hooks.py` doc events (`on_submit`, `on_cancel`) that generate, submit and cancel e-invoices automatically as invoices move through their lifecycle
  • Dedicated `E-Invoice Log` DocType storing outbound XML, IRN, QR payload, Access Point response and a `Pending`/`Cleared`/`Rejected`/`Cancelled` status per invoice
  • Access Point / service-provider submission connector with endpoints and credentials centralised in a `FIRS E-Invoicing Settings` DocType (sandbox vs production toggle)

Request a Quotation

Tell us about your Nigeria FIRS Peppol E-Invoicing requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.