What the 16 checks actually look at

All of them are mechanical — structure, arithmetic, formatting and tax heads. None of them is a judgement call, which is exactly why they are worth automating and why they are the errors that get returns rejected on upload. Every flag names the rule or section it comes from.

Who the parties are

  • GSTIN structure for supplier and buyer — 15 characters, checksum position, entity code
  • State code inside each GSTIN against the valid list
  • Supplier and buyer GSTIN not identical

Which tax applies

  • Tax head against place of supply — IGST for interstate, CGST plus SGST for intrastate
  • CGST and SGST splitting evenly, which they must
  • Rate against the permitted slabs
  • Reverse charge flagged consistently with the tax actually charged

Whether the arithmetic holds

  • Tax recomputed line by line against the taxable value and rate
  • Line taxable amounts summing to the stated total
  • Invoice total reconciling against lines plus tax
  • Rounding at invoice level, not only per line

Whether the document is well formed

  • HSN present, and long enough for your turnover band
  • Invoice number within 16 characters and using permitted characters only
  • Invoice date within a sane period
  • Place of supply present where it is required
  • Invoice type consistent with the parties and the tax charged

Why a rejected invoice costs more than it looks

A GSTR-1 upload fails against the whole JSON. One invoice with a malformed number or a tax head that contradicts the place of supply returns an error code against that record, and the return has to be unpicked and resubmitted — usually on the 10th or 11th, under time pressure.

Marketplaces apply the same particulars and hold the payment rather than cancelling the order, so the money stops moving while nobody tells you why. And where the defect is in an invoice you received, the exposure is yours rather than the supplier's: input tax credit under Section 16 requires a valid tax invoice, and their mistake is what costs you the credit.

None of that is difficult to avoid. It is just tedious to check by eye, on every invoice, every month.

What happens to your data

A free check is processed in memory and never written to our database — nothing from it is kept. A paid report is stored, because that is what lets you re-open, download and email it afterwards. Nothing is sold, nothing trains a model, and a stored check can be deleted on request.

General information about Indian GST, not tax advice. Rules are amended by notification from time to time — confirm the current position with your CA before filing.