Sign inStart free trial

Purchases and reports: buying stock, GSTR-1, sale, stock and write-off reports

How NegoBill records a purchase from a supplier with its stock batches and payment, and how the reports work: Sale report with profit at sale time, Stock report, Product report, Service Done By, Stock write-offs, and GSTR-1 with JSON export for the GST portal. Reports build only on Generate. Web.

Updated 27 Sept 2026 · Applies to NegoBill V5 · Markdown

Platforms: the web app, Android, iOS · Plans: Purchases from Plus; Sale report on every plan; every report from Plus · Permissions: Purchases: PURCHASE:create, PURCHASE:list; Reports: REPORT:stock, REPORT:product, REPORT:service, REPORT:gstr1; Buying price & profit for cost and profit columns

Where it is

  • Web: Stock → Purchases (the board and New purchase); Business → Reports (tabs: Day report, Sales, Stock, Products, Services, Stock write-offs, GSTR-1). The Day report is one day, generated on demand: sales (bills and tax invoices, GST, collected, still due, cancelled, returns), money in by payment method, money out (expenses with the biggest five, supplier payments, refunds), the net, purchases and what is still payable, new customers and suppliers, the five best-selling items; profit only for those who may see cost. The assistant’s day_report tool reads the same figures.
  • Android and iOS: Purchases under All Tools; Today’s Overview on Home (total sales, alerts, box cash, expenses) refreshed at launch, every 10 minutes and on pull-down; full reports are on the web.

Purchases

Record a purchase: New purchase → supplier (search or add), supplier bill number and date, lines: product, quantity, buying price, MRP, sale price, batch number, MFG/expiry; the landing cost multiplier when the switch is on; totals with GST; payment now or later. Stock lands as batches at the store; the supplier’s balance grows until paid (Ledger → Pay). A purchase prints on A4.

Set sale prices from a purchase: open the purchase on the Purchases board → Set sale prices → margin percent and the rounding step (whole rupees, ₹5, ₹10, the paisa) → Set prices. Every product on the bill gets sale price = its buying cost on that bill (extra charges spread in) + the margin, rounded up; the MRP rises only where it was below the new price; the bill’s own batches take the same printed prices. The answer lists each product with its cost, old and new price; a product whose minimum-price rule is above the new price is skipped and named. The purchase document itself never changes: a wrong purchase is voided and entered again. The assistant does the same with reprice_purchase.

Reports

  • Sale report: every sale in a range with taxable value, GST, paid and due per bill, sale-time cost (the consumed batches’ landing cost) and profit; returns at the exact restocked batch cost; filter Bills / Tax invoices; opens on today; CSV.
  • Stock report: quantity, value at buying price and nearest expiry per product and store; low stock.
  • Product report: what sold, how much, when.
  • Service Done By: per-staff service lines (switch in Settings → Report).
  • Stock write-offs: every stock adjustment with product, batch, quantity, reason, note, who, when; cost columns only with Buying price & profit.
  • GSTR-1: tax invoices grouped as the portal wants them (B2B, B2C, HSN summaries) for a month; JSON export in the offline-tool format (Plus and above).

Rules

  • A report builds only when Generate is pressed; changing a tab or a filter never fires a query.
  • Profit percent is a share of the sale price; the words are “buying price” and “profit”, never landing cost or margin in the interface.
  • Cost and profit columns are stripped for anyone without Buying price & profit.
  • Bill Receipts stay out of GSTR-1; only Tax Invoices are in it.

Limits

Report ranges are any dates within the store’s financial years; CSV downloads the built table.

How-to guides

Try NegoBill free for 15 days

Every plan has its own free trial. No card, no free plan that never ends — a real plan, tried.

Start free trialTalk on WhatsApp