Documentation

Everything Parakh does, explained

From your first upload to the API. If something here is unclear, email support@parakh.in.

Quickstart

  1. Create a workspace and add the GSTIN you reconcile under Clients & GSTINs. CA practices add one per client.
  2. Choose New reconciliation, then pick the client, the return period and what to compare with (GSTR-2B for purchases is the usual choice).
  3. Upload your purchase register (Excel or CSV) and check the column mapping.
  4. Upload the GSTR-2B JSON from the GST portal and press Reconcile.
  5. Work the Needs action tab: email suppliers, set IMS actions, add notes. Export the Excel report for your records and lock the period when you file.

Want to see it first? On the dashboard choose Try with sample data. The synthetic dataset triggers every status and flag. You can also download the sample register and sample GSTR-2B.

Getting the files

GSTR-2B (recommended)

GST portal → Services → Returns → Returns Dashboard → pick the period → GSTR-2B → Download → Generate JSON file. 2B is a static statement generated on the 14th, so it is the right basis for your 3B claim. The Excel download works too, from the B2B sheet.

GSTR-2A

Same dashboard, GSTR-2A → Download → JSON. 2A changes as suppliers file late, which makes it useful for chasing, not for the 3B claim.

GSTR-1 (sales)

GSTR-1/IFF → View → Download (JSON), then compare with your sales register to find invoices you forgot to report or reported twice.

Your register

Export the purchase or sales register from Tally (Display → Account Books → Purchase Register → Export to Excel), Busy, Zoho Books, SAP, Marg or any spreadsheet. One line per invoice or one line per tax rate are both fine.

Column mapping

Parakh finds the header row (even below title rows), picks the best sheet, and maps columns by name: GSTIN/UIN, Party GSTIN and Supplier Tax Id all become the supplier GSTIN. You confirm or fix the mapping before running.

FieldRequiredNotes
Supplier GSTINYesSpaces and lower case are cleaned.
Invoice numberYesCompared after normalising (see below).
Taxable valueYesIndian formatting such as ₹1,23,456.50, (500) and 500 Cr is understood.
IGST / CGST / SGST / CessOne of these, or Total taxPer-head values enable place-of-supply checks.
Invoice dateNodd-mm-yyyy, dd/mm/yy, 05-Apr-2025, ISO and Excel serial dates are all read.
Payment dateNoEnables the 180-day rule. A blank cell means unpaid.
Reverse charge, ITC availability, Party nameNoUsed for flags and display.

The mapping is saved for the workspace. Next month, a file with the same column names maps itself, even if the columns move around.

How matching works

Lines of the same supplier and invoice are summed first, since registers often have one line per tax rate. Then every invoice goes through up to five passes:

  1. Exact: same GSTIN and the same invoice number after normalising, so INV/0042, inv-42 and INV42 are equal. If the amounts differ beyond your tolerance, it's a Mismatch.
  2. Similar number: same GSTIN, amounts agree, and invoice numbers are nearly identical (one or two characters apart, the same digits, or a financial-year suffix added).
  3. Same amounts: same GSTIN, amounts agree and dates are within 3 days, but the number is different.
  4. Same PAN: the supplier reported it under another GSTIN of the same PAN (another state registration).
  5. One-sided: whatever remains is in your books only, or in the portal only.

Finally, carry-forward looks at earlier periods of the same client: an invoice that was missing in August's 2B and appears in September's is matched and the August item is marked resolved.

Statuses

StatusMeaningUsual action
MatchedAgrees within toleranceAccept in IMS
ProbableSupplier and amounts agree; number differsCheck the invoice, then accept
MismatchSame invoice, different amounts or tax headsAsk the supplier to amend, or correct your books
Not in 2BIn your books; the supplier hasn't filed itEmail the supplier; hold the credit
Not in booksFiled by the supplier; not booked by youBook it and claim it, or reject it in IMS

Reason codes

Taxable differs / Tax differsAmounts differ beyond your tolerance.
Tax head / POSIGST charged where CGST and SGST were due, or the reverse: a place-of-supply error. The credit is treated as at risk until the supplier re-issues.
Date differsInvoice dates differ by more than your date-drift setting. It is information only and does not change the status.
Inv. format / Inv. similar / Inv. differsHow the invoice numbers were matched.
Other GSTIN, same PANReported under a different state registration of the same business.
Duplicate in booksTwo identical lines were summed: likely a double entry.
Blocked ITCThe portal marks the credit unavailable, for example under Section 17(5).
Reverse chargePay tax in cash; claim through 3B Table 4(A)(3).
Unpaid 180+ daysNot paid within 180 days of the invoice date. Reverse under Rule 37 until paid.
Invalid GSTINFails the format or check-digit test.
Credit/debit noteThe document is a note. Credit notes reduce ITC.
Carried forwardMatched against an open item from an earlier period.

ITC rules

  • Secured is ITC that GSTR-2B supports, after blocked credit and 180-day reversals are taken out.
  • At risk is credit in your books that 2B doesn't support: missing invoices, under-reported tax, wrong tax heads, unpaid invoices past 180 days, and credit notes you haven't booked.
  • Unclaimed is credit in 2B that you haven't booked.
  • Blocked is credit the portal marks as unavailable.

The 3B worksheet tab compares what you claim in GSTR-3B Table 4(A)(5) with what 2B supports, head by head, and warns before an excess claim draws a DRC-01C notice.

Follow-ups and supplier grades

From a reconciliation or from Suppliers, select suppliers and choose Email. Each supplier gets one email listing every open invoice that needs their action and the credit on hold. Each email carries a private link, valid for 30 days, where the supplier answers per invoice without signing up: filed now, amended, will file in a chosen month, or disagree with a note. Answers appear on the invoice and in the audit log, and the sender gets an email. Filter a reconciliation by Supplier replied to work through them. Emailed invoices move to Followed up, and every send is logged on the supplier's page. Your own email address must be confirmed first.

Grades A to D come from a score that weighs the share of invoices that reconcile cleanly (one third) and the share of tax value (two thirds), across the period you select.

IMS and closing the month

The Invoice Management System on the GST portal asks you to Accept, Reject or keep Pending each inward document before it flows to GSTR-2B. Suggest IMS actions sets Accept for matched and probable invoices and Pending for the rest, without touching decisions you already made. Export the IMS action list CSV to act on the portal. When you file, Lock period to freeze statuses and notes. Every change is recorded in the audit log.

Credit clock

Credit clock lists every date on which open credit is lost or must be reversed, across all clients:

  • Section 16(4): credit for an invoice dated in a financial year must be availed by 30 November of the next year (or the date you file GSTR-9, if earlier). Shown for invoices not yet in 2B (the supplier must file) and for unclaimed credit in 2B (you must book and claim it).
  • Rule 37: when a payment-date column is mapped, invoices still unpaid 180 days after the invoice date.
  • IMS Pending: a record can be kept Pending for one more return period (one quarter for QRMP filers); after that it is deemed accepted.

Members get a Monday email with what is due in the next 30 days and supplier replies from the last week. Turn it off in Settings → Profile.

Payment advice

The Payments tab of a purchase reconciliation tells accounts payable what to release and what to hold, per supplier: the booked value less the GST not yet supported by the portal. Mark MSME suppliers on their supplier page: payments to micro and small enterprises later than 45 days are disallowed under Section 43B(h) of the Income-tax Act until paid, so Parakh shows each one's 45-day date. Download the advice as CSV for your payment run.

Year view

From Clients, open Year view for a month-by-month table of ITC in books, in 2B (or 2A) and claimed in GSTR-3B for the financial year, with totals. It maps to GSTR-9 Table 8A (2B), 8B (3B claimed) and 8D (the difference), and warns how much open credit is still recoverable before the Section 16(4) date.

Sharing with clients

Export → Share read-only link creates a link to the printable summary that works without signing in, for 7, 30 or 90 days. It shows the period's totals and top open items, never notes or your team's names. Links can be revoked at any time and every view is counted.

Press Ctrl K (⌘ K on a Mac) or / anywhere in the app to jump to a page, client, reconciliation or supplier.

Roles

RoleCan
OwnerEverything, including billing and deleting the workspace
AdminManage clients, team, API keys and audit log; lock periods; delete reconciliations
MemberUpload, reconcile, set IMS actions and statuses, email suppliers
ViewerRead everything and download reports. Ideal for auditors and clients.

API reference

Available on the Firm plan and during the trial. Create a key in Settings → API keys and send it as a bearer token. Keys act with their creator's role. Rate limit: 600 requests a minute per workspace. All amounts are rupees; dates are ISO yyyy-mm-dd.

curl https://YOUR-DOMAIN/api/clients \
  -H "Authorization: Bearer pk_live_…"
GET/api/clients

Clients with their latest reconciliation.

POST/api/uploads?side=books|portal

Multipart upload (file field). Returns the parsed preview, the detected sheet, header row and column mapping, and an id.

POST/api/runs

Reconcile. Each side takes either an uploaded file or rows:

{
  "clientId": 12,
  "kind": "2b",                 // 2b | 2a | gstr1
  "period": "2026-09",
  "tolerance": 1,               // optional, rupees
  "books":  { "rows": [ { "gstin": "29AABCT1332L1ZA", "inv": "INV/0042",
                          "date": "2026-09-14", "taxable": 100000, "igst": 18000,
                          "paid": "2026-09-30" } ] },
  "portal": { "upload": "6f1c…" }   // or { "upload": id, "sheet": 0, "header": 3, "mapping": {...} }
}
→ { "id": 4812 }
GET/api/runs?client=12&kind=2b

Reconciliations, newest first, with their summary.

GET/api/runs/{id}

Summary: counts and tax per status, ITC secured, at risk, unclaimed and blocked, per-head totals and match rate.

GET/api/runs/{id}/items?bucket=action&page=1&size=500

Invoices with books and portal values, reasons, ITC impact and workflow state. Filters: bucket (action, matched, probable, mismatch, missing_portal, missing_books), reason, state, action, gstin, q.

PATCH/api/runs/{id}/items

{"ids":[1,2], "action":"accept", "state":"resolved", "note":"…"}, or pass filter instead of ids.

GET/api/runs/{id}/export.xlsx · export.csv · ims.csv

Reports, as in the app.

GET/api/runs/{id}/payment-advice

Per supplier: value to release and GST to hold. Add ?format=csv for a file.

GET/api/deadlines?client={id}

Credit clock items with due dates and amounts. ?format=csv for a file.

GET/api/clients/{id}/annual?fy=2027

Month-by-month ITC for FY 2026-27.

GET/api/vendors?months=12

Supplier grades, open items and ITC at risk.

Errors return a non-2xx status with {"error": "human readable message"}.

Limits

  • Files up to 25 MB. Uploaded files are kept 7 days.
  • Rows per file: 10,000 (Solo), 1,00,000 (Practice), 3,00,000 (Firm).
  • Old .xls files: save as .xlsx or CSV first.
  • Supplier emails: up to 1,000 a day per workspace.