compter GST invoices and double‑entry books for Indian businesses

Raise an invoice and the tax splits itself, the ledger balances itself and GSTR-1 is ready when the month ends.

From invoice to ledger, on save

  • Raise the invoice Customer, HSN or SAC code and rate on each line.
  • The tax decides itself Place of supply picks CGST and SGST, or IGST.
  • The books post themselves Receivable, revenue and each tax on its own account.
  • The return files itself GSTR-1 downloads as the JSON the GST portal takes.
INV-2026-0042 B2B Posted

Orbit Agency GSTIN 29ABCDE1234F1Z5 · Place of supply 29-Karnataka

Invoice lines
ItemSACRateAmount
Brand identity design99839118%₹8,000.00
Website copy99839118%₹2,000.00
Taxable
₹10,000.00
CGST 9%
₹900.00
SGST 9%
₹900.00
Total
₹11,800.00

Journal entry

1200 Accounts Receivable
Dr 11,800.00
4000 Sales Revenue
Cr 10,000.00
2201 CGST Output
Cr 900.00
2202 SGST Output
Cr 900.00

Most small businesses do their GST twice: once on the invoice, and again in a spreadsheet when the return is due.

compter does it once. The invoice you send is the entry in your books and the line in your return, so the three can never disagree.

One ledger behind every screen

Invoices

Search invoices New invoice
Sample invoice list
NumberCustomerSupplyTotalStatus
INV-2026-0042Orbit AgencyCGST + SGST₹11,800.00Paid
INV-2026-0041Saffron Foods, PuneIGST₹2,68,800.00Sent
INV-2026-0040Kaveri TextilesCGST + SGST₹56,000.00Overdue
INV-2026-0039Marina Studio, ChennaiIGST₹57,600.00Paid
INV-2026-0038Walk-in customerCGST + SGST₹1,048.95Paid
  • GST invoices

    Per-line HSN or SAC and rate, place of supply worked out, a PDF with the rupee set properly, and credit notes that reverse exactly.

  • Statement import

    Bring a bank or UPI statement as CSV. Duplicates are flagged and each line lands in an account by what it says.

  • Reconciliation

    Every statement line is matched, partly matched or left for you, and the difference shows until it is zero.

  • Reports

    Balance sheet, income statement and cash flow come straight from the entries, for any date or period.

Type an invoice line

Your business is in Bengaluru, Karnataka. Give an amount, a GST rate and the customer's city, and see what compter posts.

Place of supply 29-Karnataka, same state as you: CGST + SGST

Tax on this line
Taxable value₹10,000.00
CGST 9%₹900.00
SGST 9%₹900.00
Invoice total₹11,800.00
Posted to the ledger
AccountDebitCredit
1200 Accounts Receivable11,800.00
4000 Sales Revenue10,000.00
2201 CGST Output900.00
2202 SGST Output900.00

Debits and credits both ₹11,800.00. Balanced.

Books you can check

The engine is open source

The ledger, the GST maths and the GSTR-1 export live in accounting-core, a Rust crate under the MIT or Apache-2.0 licence. Read exactly how your tax is worked out.

Read the source
let gst = GstCalculator::new(false); // same state
let split = gst.calculate_by_category(
    BigDecimal::from(10000),
    GstCategory::Higher, // 18%
    None,
)?;

assert_eq!(split.cgst_amount, BigDecimal::from(900));
assert_eq!(split.sgst_amount, BigDecimal::from(900));

Every entry balances

Nothing reaches the ledger unless debits equal credits. GST sits on output accounts 2201 to 2203, apart from revenue.

Credit notes, not edits

A sent invoice is never rewritten. A credit note reverses it line by line, and both show in your return.

Set up for India

Your workspace opens with a chart of accounts, GST output accounts and your GSTIN and state on every invoice.

Questions, answered

What is compter?

compter is web-based GST invoicing and double-entry accounting software for Indian businesses. You raise GST invoices, and each one posts itself to your books and to your GSTR-1 return.

Does compter work out CGST, SGST and IGST automatically?

Yes. Each invoice line carries its HSN or SAC code and GST rate. compter compares the place of supply with your registered state: the same state gives CGST and SGST, another state gives IGST.

Can I file GSTR-1 with compter?

compter exports GSTR-1 as the JSON file the GST portal accepts, with invoices already sorted into B2B, B2CL and B2CS. You upload that file on the GST portal to file the return.

Can I import bank and UPI statements?

Yes. Import a bank or UPI statement as a CSV file. You see a preview first, lines already in your books are flagged as duplicates, and each payment is put in an account based on its description. You can then reconcile the statement against your books line by line.

How do I correct an invoice that has already been sent?

Raise a credit note. A sent invoice is never rewritten; the credit note reverses it line by line, and both appear in your books and your GSTR-1 return.

Is compter open source?

The engine is. The ledger, the GST calculations and the GSTR-1 export live in accounting-core, a Rust library available under the MIT or Apache-2.0 licence on GitHub.

Open the books for your business

Already have one? Sign in