Skip to main content
GSTR-2B / Purchase Reconciliation for ERPNext — A build-to-order ERPNext app that imports your monthly GSTR-2B JSON, matches  — 1/1Illustrative preview

A build-to-order ERPNext app that imports your monthly GSTR-2B JSON,

matches it line-by-line against the purchase register, and flags mismatches, missing invoices, and ITC-ineligible entries so your Input Tax Credit claim is both maximised and defensible.

ECOSIRE scopes, builds, installs, and supports it — this is not an off-the-shelf marketplace download.

What is GSTR-2B / Purchase Reconciliation for ERPNext?

A build-to-order ERPNext app that imports your monthly GSTR-2B JSON, matches it line-by-line against the purchase register, and flags mismatches, missing invoices, and ITC-ineligible entries so your Input Tax Credit claim is both maximised and defensible. ECOSIRE scopes, builds, installs, and supports it — this is not an off-the-shelf marketplace download. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

`GSTR-2B Import` DocType that parses the raw portal JSON (B2B, CDNR/CDNRA, amendments, ISD) into structured child-table rows with source-section retained per line
Matching engine implemented as whitelisted server methods keying on GSTIN + document number + date + taxable value + tax amount, with configurable tolerance bands
Five-way per-line classification: Exact Match, Probable Match (fuzzy invoice-no / ±amount / ±date), Mismatch, Only-in-2B, and Only-in-Books
Per-line ITC eligibility flagging driven by section, reverse-charge indicator, and place-of-supply so ineligible or blocked credit is separated before filing
Vendor-wise (GSTIN-wise) reconciliation summary as a grouped Query Report with drill-down to the specific offending Purchase Invoices
Bulk accept/reject actions that stamp a reconciliation status and audit trail back onto the linked `Purchase Invoice`
Follow-up automation that raises a `ToDo` or drafts a supplier email per Only-in-2B / mismatch line for structured vendor chasing
`hooks.py` doc events on Purchase Invoice submit/amend/cancel that keep reconciliation status consistent when books change
Scheduler event that auto-flags return periods still carrying unreconciled ITC as the filing deadline approaches
One-click Client Script buttons ('Import 2B', 'Run Match', 'Generate Follow-ups') placed directly on the reconciliation document
Role profiles and permission rules separating who imports portal data from who can approve or reject ITC
Period-locking so a reconciled and filed month cannot be silently re-matched without an explicit re-open action
Frappe REST API endpoints to trigger import and matching from an external tax engine or portal-automation tool
Configurable tolerance and rounding rules (e.g. ±1 rupee, ±1 day) exposed as a Settings single DocType rather than hard-coded

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

Every GST-registered business in India loses Input Tax Credit the same way: a supplier files late or wrong, an invoice that sits in your purchase register never shows up in GSTR-2B, or a GSTIN/invoice-number typo means the two records never match — and the ITC quietly slips through the cracks at return-filing time. Stock ERPNext gives you the GST accounting backbone (Purchase Invoice, GSTIN fields, tax templates, the GSTR-3B/GSTR-1 reports), but it has no native workspace to pull the government's GSTR-2B JSON back in and reconcile it against what you actually booked. Accounting teams end up exporting to spreadsheets, doing VLOOKUPs by hand every month, and hoping they caught everything before the ITC claim window closes — which is exactly where audit exposure and lost credit come from.

ECOSIRE builds a dedicated reconciliation app as a proper Frappe application (bench get-app installable), namespaced with its own module so it upgrades cleanly and never patches ERPNext core. At its heart is a GSTR-2B Import DocType that ingests the raw JSON downloaded from the GST portal (B2B, CDNR, amendments, and ISD sections), parsing it into child-table rows, plus a Purchase Reconciliation document that pairs each portal invoice against the matching Purchase Invoice in your books. The matching engine — implemented as whitelisted server-side methods (@frappe.whitelist()) rather than fragile client logic — keys on GSTIN, document number, document date, and taxable/tax values with configurable tolerance bands, then classifies every row as Exact Match, Probable Match (fuzzy on invoice number or ±rupee/±date tolerance), Mismatch, Only-in-2B, or Only-in-Books. ITC eligibility is flagged per line using the section, reverse-charge, and place-of-supply data so ineligible or blocked credit is separated out before you file.

Around that engine we build the workflow your team actually needs: a vendor-wise reconciliation summary (grouped Query Report with drill-down to the offending invoices), bulk accept/reject actions that write an audit trail back onto the linked Purchase Invoice, and a follow-up mechanism that can raise a ToDo or draft a supplier email for every Only-in-2B or mismatched line so your GSTIN owner has a concrete list to chase. hooks.py doc events keep the reconciliation status in sync when a Purchase Invoice is amended or cancelled, a scheduler event can auto-flag periods that still have unreconciled ITC as the filing date approaches, and Client Scripts add the one-click "Import 2B" and "Run Match" buttons where accountants expect them. Role profiles and permission rules scope who can import portal data versus who can approve/reject credit, and everything is exposed through the Frappe REST API if you want to trigger reconciliation from an external tax tool.

Because this is build-to-order, nothing ships until we understand your exact GST footprint. We start with a scoping call to confirm your ERPNext version (v15 or v16), number of GSTINs, invoice volume, tolerance rules, and how strict your ITC policy is, then build against a written scope. Typical delivery is one working week from confirmed scope. You get installable source, a git repository handover, UAT on a staging site with a rollback plan, user training, and a post-go-live support window — so the reconciliation runs on your own bench, on your own data, with no dependency on a third-party SaaS holding your purchase records.

What you get

  • Installable Frappe app source code for your ERPNext version (v15 or v16), namespaced in its own module
  • Installation and configuration on your bench, including tolerance rules, role profiles, and scheduler setup
  • Technical documentation covering DocType schema, whitelisted methods, hooks, and REST endpoints
  • User guide plus a live training session for your GST/accounting team
  • UAT on a staging site with sample GSTR-2B JSON and a documented rollback plan
  • Git repository handover with full commit history and branch/tag conventions
  • Post-go-live support window for defect fixes and configuration adjustments
  • Sample data set and reconciliation walkthrough for onboarding new team members

Who this is for

GST Accountant / ITC Owner

Runs the monthly reconciliation and owns the ITC claim figure. Needs the mismatch and missing-invoice list produced automatically instead of hand-built in Excel, with a clear audit trail for every accept/reject decision.

Finance Controller / CFO

Accountable for the accuracy of the return and for ITC not leaking. Wants period-level assurance, vendor-wise exposure visibility, and a defensible record when the return is scrutinised.

ERPNext Administrator / Implementation Partner

Maintains the bench and must keep customisations upgrade-safe. Needs a clean namespaced app with hooks and permissions rather than core patches, plus a git repo they can maintain across v15/v16 upgrades.

Tax Compliance Manager (multi-GSTIN)

Oversees reconciliation across several GSTINs and states. Needs consistent tolerance rules, role separation between data import and credit approval, and API access to plug into a broader compliance stack.

How GSTR-2B / Purchase Reconciliation for ERPNext Compares

CriterionECOSIRECustom BuildCompetitorERPNext Native
Fit to your GST footprintBuilt to your GSTINs, tolerances, and ITC policy from a written scopeFully bespoke but only as good as your in-house specGeneric feature set, one-size-fits-all rulesNo dedicated reconciliation workspace at all
GSTR-2B JSON importDedicated DocType parsing B2B, CDNR, amendments, ISDPossible but you design and test the parserUsually supported, sections vary by vendorNot available — manual export/spreadsheet
Matching intelligenceExact + fuzzy/probable with configurable ±amount/±date bandsWhatever you build and validateFixed matching logic, limited tolerance tuningNone
ITC eligibility flaggingPer-line by section, reverse-charge, place-of-supplyBuild it yourself against GST rulesBasic eligibility, often not tunableNot handled
Upgrade safety (v15/v16)Namespaced app, hooks only, no core patchesDepends on developer disciplineVaries; some patch core or lag versionsN/A
Ownership & handoverInstallable source + full git repo handoverYou own it but carry all build cost/riskLicensed; source often closedN/A
Delivery timeone working week from confirmed scopeMonths incl. hiring, spec, build, testInstant install, but genericImmediate, but no capability
Support modelPost-go-live support window + ECOSIRE follow-onSelf-supported or contractor-dependentVendor SLA, tied to their roadmapCommunity/partner only

Frequently Asked Questions about GSTR-2B / Purchase Reconciliation

Is this an app I can download and install myself from a marketplace?

No. This is a build-to-order engagement — ECOSIRE scopes, builds, installs, and supports the app against your specific GST footprint. You receive installable source and the git repository on handover, so it runs on your own bench, but it is not an existing Frappe Cloud Marketplace download.

How long does delivery take?

Typical delivery is one working week from confirmed scope. We start with a short scoping call to lock down your ERPNext version, number of GSTINs, invoice volume, and tolerance/ITC rules, then build against a written scope. Complex multi-GSTIN or high-volume setups sit at the longer end of that range.

Which ERPNext versions do you support?

Frappe/ERPNext v15 and v16. We build the app namespaced in its own module against your target version so it stays upgrade-safe and never patches ERPNext core. Tell us your exact version on the scoping call and we build to match.

How does the matching actually work — will it catch supplier typos?

The engine keys on GSTIN, document number, document date, and taxable/tax values with configurable tolerance bands. Beyond exact matches it produces Probable Matches using fuzzy invoice-number logic plus ±amount and ±date tolerances, so a transposed invoice number or a one-rupee rounding difference is surfaced as a likely pair rather than a false mismatch — you confirm or reject it.

What about ITC eligibility and reverse charge?

Each reconciled line is flagged for ITC eligibility using the GSTR-2B section, reverse-charge indicator, and place-of-supply data, so ineligible or blocked credit is separated out before you file. The rules are configurable during scoping to match how strictly your finance team treats provisional or blocked credit.

What do we get for support and updates after go-live?

Every engagement includes a post-go-live support window for defect fixes and configuration adjustments, and you get the full git repository so your own team or partner can maintain it. Longer-term support, feature additions, and version-upgrade work (for example a future GST portal schema change) can be arranged as a follow-on.

Does it modify ERPNext core or our existing Purchase Invoices?

It does not patch core. The app is a separate namespaced module that reads your `Purchase Invoice` data and writes only a reconciliation status and audit trail back onto matched invoices via controlled `hooks.py` doc events. UAT runs on a staging site with a rollback plan before anything touches production.

Request a quote

GSTR-2B / Purchase Reconciliation

A build-to-order ERPNext app that imports your monthly GSTR-2B JSON, matches it line-by-line against the purchase register, and flags mismatches, missing invoices, and ITC-ineligible entries so your Input Tax Credit claim is both maximised and defensible. ECOSIRE scopes, builds, installs, and supports it — this is not an off-the-shelf marketplace download.

  • `GSTR-2B Import` DocType that parses the raw portal JSON (B2B, CDNR/CDNRA, amendments, ISD) into structured child-table rows with source-section retained per line
  • Matching engine implemented as whitelisted server methods keying on GSTIN + document number + date + taxable value + tax amount, with configurable tolerance bands
  • Five-way per-line classification: Exact Match, Probable Match (fuzzy invoice-no / ±amount / ±date), Mismatch, Only-in-2B, and Only-in-Books
  • Per-line ITC eligibility flagging driven by section, reverse-charge indicator, and place-of-supply so ineligible or blocked credit is separated before filing

Request a Quotation

Tell us about your GSTR-2B / Purchase Reconciliation 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.