Sales Calculations
This page is the precise reference for how monetary amounts are computed on every sales document — Quotations, Sales Orders, and Sales Invoices. The same formula and rounding rules apply to all three, so a quotation, the sales order it converts to, and the invoice generated from it all total identically when the same inputs are used.
The formula
Final Amount = (Grand Total − Discount) + GST − TDS
Building blocks:
| Term | Definition |
|---|---|
| Grand Total | Sum of every unit line total, where each line total is rate × area. |
| Discount | Reduction applied per unit or at the order level. Per unit it can never exceed that unit's total rate, and it can never be negative. |
| Taxable Amount | Grand Total − Discount. This is the base for both GST and TDS. |
| GST | Taxable Amount × GST rate. Added to the total. |
| TDS | Taxable Amount × TDS rate. Subtracted from the total. |
| Final Amount | The net payable: Taxable Amount + GST − TDS. |
:::tip Direction of the tax adjustments GST is added because it is collected from the buyer on top of the price. TDS is subtracted because it is tax withheld at source. Mixing these up is the single most common source of confusion — keep "GST up, TDS down" in mind. :::
All money values are rounded to 2 decimal places. GST and TDS are each rounded before they are combined into the Final Amount.
Calculation flow
Worked example — single unit
A plot of 2,400 sq ft at ₹1,500 / sq ft, with a ₹50,000 discount, 5% GST, and 1% TDS.
| Step | Calculation | Amount |
|---|---|---|
| Line total | 2,400 × 1,500 | ₹36,00,000.00 |
| Grand Total | (one unit) | ₹36,00,000.00 |
| Discount | flat | − ₹50,000.00 |
| Taxable Amount | 36,00,000 − 50,000 | ₹35,50,000.00 |
| GST | 35,50,000 × 5% | + ₹1,77,500.00 |
| TDS | 35,50,000 × 1% | − ₹35,500.00 |
| Final Amount | 35,50,000 + 1,77,500 − 35,500 | ₹36,92,000.00 |
Worked example — multi-unit roll-up
Each unit contributes its own line total to the Grand Total. Discounts may be set per unit and are summed into a single total discount before tax.
Two units on one order, 8% GST, 2% TDS:
| Unit | Rate × Area | Line total | Unit discount |
|---|---|---|---|
| A-101 | 1,200 sq ft × ₹2,000 | ₹24,00,000.00 | ₹40,000.00 |
| A-102 | 1,000 sq ft × ₹2,000 | ₹20,00,000.00 | ₹0.00 |
| Step | Calculation | Amount |
|---|---|---|
| Grand Total | 24,00,000 + 20,00,000 | ₹44,00,000.00 |
| Total Discount | 40,000 + 0 | − ₹40,000.00 |
| Taxable Amount | 44,00,000 − 40,000 | ₹43,60,000.00 |
| GST | 43,60,000 × 8% | + ₹3,48,800.00 |
| TDS | 43,60,000 × 2% | − ₹87,200.00 |
| Final Amount | 43,60,000 + 3,48,800 − 87,200 | ₹46,21,600.00 |
Key point: discount, GST, and TDS are computed on the combined taxable amount of the whole order — not per unit and then summed. The order is the unit of taxation; individual line totals only feed the Grand Total.
Multi-buyer ownership splits
A sales order supports multiple buyers (joint purchases). Multi-buyer support does not change the Final Amount — the order total is computed exactly as above. What it changes is how the total is attributed across buyers for ownership and statements.
- Each buyer is mapped to the order with an ownership share.
- The shares partition the same Final Amount (they do not add tax or change line totals).
- For reporting, each buyer's portion of Paid and Due is derived from their share of the order total.
So if the Final Amount is ₹46,21,600.00 and two buyers hold 60% / 40%, their attributed amounts are ₹27,72,960.00 and ₹18,48,640.00 respectively — the sum is unchanged.
Paid, Due, and the payment timeline
Once the Final Amount is fixed, settlement is tracked through the payment timeline:
Paid = (sum of payments) − (sum of returns)
Due = max(Final Amount − Paid, 0)
- Paid is the net of all recorded receipts minus any returns/refunds.
- Due never goes below zero. If returns push net Paid negative, Due caps at the Final Amount.
Paid + Due = Final Amountalways holds while Due is non-negative.
Returns and refunds
A return or refund (for example on a cancellation or an overpayment) is recorded against the order and reduces net Paid, which increases Due. Returns do not alter the Final Amount, the Grand Total, or the tax figures — they only move money in the payment ledger.
Example. Final Amount ₹36,92,000.00. The buyer pays two installments of ₹10,00,000.00 and ₹5,00,000.00, then a ₹2,00,000.00 refund is processed.
| Event | Running net Paid | Due |
|---|---|---|
| Installment 1 (+₹10,00,000) | ₹10,00,000.00 | ₹26,92,000.00 |
| Installment 2 (+₹5,00,000) | ₹15,00,000.00 | ₹21,92,000.00 |
| Refund (−₹2,00,000) | ₹13,00,000.00 | ₹23,92,000.00 |
Edge cases and guardrails
| Situation | Behavior |
|---|---|
| Discount greater than a unit's total rate | Rejected — discount cannot exceed the line's total rate. |
| Negative discount | Rejected — discount cannot be negative. |
| GST rate or TDS rate of 0 | Allowed — that component contributes ₹0.00. |
| Rounding | Every monetary result is rounded to 2 decimals; GST and TDS are rounded individually before being combined. |
| Quotation vs SO vs SI | Identical formula across all three, so totals carry through conversion unchanged for the same inputs. |
For the field-level validation behind these (formats, holdings, locking), see Validation Rules.
Related pages
- Sales Orders — creating and managing orders
- Quotations — pre-sale price offers
- Sales Invoices — invoices generated from orders
- Glossary — definitions of Grand Total, GST, TDS, Final Amount, Paid/Due
- Status Lifecycles — sales document statuses