Skip to content

Invoicing Overview

Invoicing is the core of Hisaabo. Every sale or purchase you make flows through an invoice. This page gives you a map of the invoicing system so you know which feature to reach for in each situation.

Hisaabo has two invoice types:

  • Sale invoice — you are selling goods or services to a customer. Stock decreases when a sale invoice is created.
  • Purchase invoice — you are buying goods or services from a supplier. Stock increases when a purchase invoice is created.

Within sale and purchase, Hisaabo supports multiple document types. Each has its own sequential number series:

Document TypeUse forNumber prefix (default)
InvoiceStandard tax invoiceINV
QuotationPrice quote before the order is confirmedQTN
Proforma InvoicePre-delivery invoice for advance paymentPI
Delivery ChallanProof of goods dispatched, no tax invoice yetDC
Credit NoteReducing the amount owed by the customer (sales return, price correction)CN
Debit NoteIncreasing the amount owed by the customer (additional charges)CN (shares credit note prefix and counter)
Sales ReturnCustomer returning goodsCN (shares credit note prefix and counter)
Purchase ReturnReturning goods to supplierCN (shares credit note prefix and counter)

Not all document types affect stock. Here is how each type interacts with inventory:

Document TypeStock effect
Invoice (sale)Decrements stock
Invoice (purchase)Increments stock
Delivery ChallanDecrements stock
Credit NoteIncrements stock (returned items go back into inventory)
Sales ReturnIncrements stock (returned items go back into inventory)
Purchase ReturnDecrements stock (items sent back to supplier)
QuotationNo stock effect
Proforma InvoiceNo stock effect
Debit NoteNo stock effect

Invoice numbers are assigned inside a PostgreSQL transaction using a SELECT FOR UPDATE lock on the business row. This guarantees that:

  • No two invoices get the same number, even if two users create invoices at the same time
  • Numbers are always sequential with no gaps (as long as you do not delete invoices)

The format is PREFIX-NNNNN, for example INV-00001. The counter pads to 5 digits by default.

When you create a sale invoice, stock is decremented for every line item that references an item in your catalogue. When you create a purchase invoice, stock is incremented. This happens inside the same database transaction as the invoice creation, so stock and invoice totals are always consistent.

If you have an item with alternate units, the quantity is converted to the base unit before the stock update. For example, if you sell 2 boxes of 12 pcs, and the conversion factor is 12, the stock is decremented by 24 pcs.

If you have an item with variants (for example, a t-shirt in size M and colour Red), the variant’s stock is decremented rather than the parent item’s stock.

Editing an invoice’s line items reverses the original stock adjustment and applies the new one.

An invoice moves through the following statuses during its lifecycle:

StatusMeaning
draftCreated but not yet sent or confirmed. Can be freely edited.
unfulfilledGoods have not yet been dispatched.
sentInvoice has been sent to the party.
paidFully paid.
partialPartially paid.
overduePast the due date with an unpaid balance.
cancelledCancelled or soft-deleted.

You can manually change the status of an invoice at any time. Statuses are also updated automatically when payments are recorded.

See Invoice Statuses for the full status workflow.

Hisaabo automatically calculates CGST/SGST (intra-state) or IGST (inter-state) based on the 2-digit state codes stored on your business and the customer/supplier. You set the GST rate on each item (0%, 5%, 12%, 18%, or 28%) and Hisaabo applies the correct split on each invoice.

See GST on Invoices for full details.

Every invoice can be downloaded as a PDF in three formats: A4 portrait, A5 landscape, and 80mm thermal roll. The PDF includes your business logo, GSTIN, party details, line items with HSN codes, tax breakdown, and optionally your bank account details and a UPI QR code for easy payment.

See Invoice PDF for full details.

You can convert a document from one type to another — for example, converting a quotation to an invoice, or a proforma invoice to a tax invoice. The conversion creates a new document of the target type, copying all line items and party details from the original. The new document is linked to the source document via the Reference Document field.

You can link documents to each other using the Reference Document field. For example:

  • A credit note references the original invoice it corrects
  • A delivery challan references the sale order it fulfils
  • A purchase return references the original purchase invoice

This linkage appears in the invoice detail view and in GSTR-1 reports (credit and debit notes show the original invoice number).