Create Invoice Guide
The invoice builder is the heart of EzDukkan. Every sale you make runs through this screen. This guide explains every single field, button, and workflow available on the invoice creation page.
From the left sidebar, click Create Invoice (or press the keyboard shortcut if one is shown). The invoice builder opens as a full-page form.
You can also start from a Draft — if you previously saved an invoice as a draft, it will appear in the Invoice Drafts section, and clicking it will re-open the builder with all your previous data pre-filled.
The page is divided into sections:
- Header — Invoice number, date, due date, counter, and status
- Client Panel — Who you are billing
- Line Items Table — The products/services being sold
- Totals Panel — Subtotal, discount, GST, and grand total
- Actions — Save, print, download, share
Invoice Number: Auto-generated based on your business settings. The format is typically PREFIX-NNNN where the prefix is your business code and NNNN is a sequential counter. You can manually override the number if needed.
Duplicate Number Protection: When saving a new invoice, the system automatically checks if the current invoice number has already been used for the selected counter prefix. If a duplicate is detected, you will see a warning popup offering to automatically jump to the next available safe number, ensuring your invoice sequence remains perfectly intact without errors.
Invoice Date: Defaults to today's date. Click to change it for backdating or forward-dating an invoice. The date picker allows you to choose any date.
Due Date: Set a payment deadline. Leaving this blank means the invoice has no due date. Setting a due date enables EzDukkan to track overdue invoices and flag them in your dashboard.
Counter Number: If your business has multiple billing counters or registers, select the appropriate counter here. Counters are configured in Settings. This helps separate sales reports by counter for multi-counter businesses.
Invoice Time: The exact time of the transaction. Auto-set to the current time when you open the builder.
The client section is on the left panel of the invoice builder.
Search Existing Clients: Start typing a client name, phone number, or GST number in the client search box. Matching clients from your client list will appear in a dropdown. Click to select — their name, address, phone, and GSTIN are auto-filled.
Add a New Client On-the-Fly: If the customer is new, type their details directly into the client fields. The client will be saved to your client list automatically when you save the invoice.
Walk-In / Cash Customer: For customers who don't provide any details, leave the client section blank. EzDukkan will mark this as a cash/walk-in sale.
Client Fields:
- Name — Customer's full name or business name
- Phone — Mobile number (used for WhatsApp sharing)
- Email — For email delivery of invoices
- Address — Billing/delivery address printed on the invoice
- GSTIN — Customer's GST Identification Number. EzDukkan validates the format automatically. Required for B2B GST invoices.
The line items table is the central part of the invoice. Each row represents one product or service being sold.
Adding an Item from Your Catalogue: Click in the item name field on any row and start typing the product name, SKU, barcode, or part number. A search dropdown appears showing matching products from your inventory. Click a product to select it — the price, GST rate, and other details auto-fill from your product catalogue.
Batch Selection: If the product has multiple stock batches (bought at different prices), a Select Price Identity popup will appear. Select the appropriate batch — EzDukkan uses FIFO (First In, First Out) by default, automatically prioritising the oldest stock batch.
Adding a Custom (Non-Catalogue) Item: If you search for an item and it doesn't exist in your catalogue, EzDukkan gives you an "Add as Custom Item" option. This lets you add any product or service to the invoice without it being in your inventory. Custom items are highlighted in amber and do not affect stock counts.
Line Item Columns:
- # — Row number. Hover to reveal the delete (trash) button for that row.
- Item Name — Product name, auto-filled from catalogue or manually typed.
- Qty — Quantity sold. Edit directly in the cell. Supports decimal values for weight-based or volume-based products.
- MRP — The product's sticker price. Auto-filled from catalogue.
- Rate — The actual selling price per unit. Can differ from MRP if a discount is applied.
- Disc % — Discount percentage applied to this line item. Changing this field auto-adjusts the Rate.
- GST % — Tax rate for this line item. Auto-filled from the product record. Can be edited per line.
- Net Total — Calculated automatically:
(Rate × Qty) after discount and tax adjustments.
Adding More Rows: Click the "Add Row" button below the items table, or press Tab from the last cell of the last row.
Removing a Row: Hover over the row number on the left to reveal a trash icon. Click it to delete that row.
The invoice builder supports two types of barcode scanning to add products instantly without typing.
USB / Bluetooth Hardware Scanner (Keyboard Wedge): This is the fastest method for retail counters. Simply plug in your USB barcode scanner. It is automatically detected as a keyboard input device — no driver or setup required. When you scan any product's barcode, EzDukkan instantly finds the matching product and adds it as a new line item on the invoice. The scanner works globally on the invoice page — you don't need to click any specific field first.
Camera Scanner (Mobile / Tablet): Click the Scan button (camera icon) in the invoice toolbar. Your device's rear camera activates. Point it at the barcode. Once detected, the product is found and added to the invoice automatically.
If the barcode is not found: A message will indicate no matching product. You can then either add the item as a custom non-catalogue entry or add the product to your catalogue first and retry.
EzDukkan gives you full control over how GST is displayed on each invoice.
Show GST / Hide GST Toggle: A toggle at the top of the invoice controls whether GST is broken out as a separate line.
- With GST (Tax Invoice): Shows GST amount separately. Required for all B2B transactions and for GST-registered businesses issuing tax invoices.
- Without GST (Retail Invoice): Prices shown are MRP-inclusive. GST is embedded in the price and not shown separately. Common for retail counter sales where the sticker price already includes GST.
Per-Line GST Rate: Each line item has its own GST % column. This allows a single invoice to have products taxed at different GST slabs — for example, a food item at 5% and an electronic accessory at 18% on the same invoice.
GSTIN Validation: If you enter a customer GSTIN, EzDukkan validates the format (15-character alphanumeric) and can auto-fetch business details from the GSTIN lookup.
The right panel shows a live running total as you add and modify line items.
Subtotal: Sum of all line item net values before any invoice-level discount.
Invoice-Level Discount: An additional discount applied to the entire invoice total (separate from per-item discounts). Enter a flat rupee value or a percentage.
GST Breakdown: If GST is enabled, the panel shows a breakdown by slab (e.g., CGST 9% + SGST 9% = 18%).
Grand Total: The final amount the customer owes.
Payment Status:
- Paid — Customer has paid in full. The invoice is marked as settled.
- Unpaid — No payment received. The invoice is recorded as outstanding.
- Partial — Customer paid part of the total. Enter the Paid Amount. EzDukkan calculates and records the balance due.
- Credit — The transaction is on credit. The outstanding amount is added to the customer's credit khata.
Notes Field: Add any internal or customer-facing note to the invoice. Notes appear at the bottom of the printed invoice.
If your business uses sales agents, you can assign an agent to any invoice.
In the Agent dropdown (visible on the invoice form), select the agent who facilitated this sale. EzDukkan will:
- Calculate the total commission earned based on the per-product commission rates you set in the product catalogue.
- Display a Commission Payout Panel showing commission for each line item.
- Allow you to adjust the payout per item using a slider — you can pay partial commission (useful when a discount was applied that reduces profit).
- Track the total unpaid commission for each agent in the Commissions section.
The Minimum Profit Safeguard automatically caps the commission payout if the sale price fell below the minimum profit threshold set for that product.
Save as Final Invoice: Click Save Invoice. The invoice is recorded in your database, stock is deducted from inventory, and the invoice number is locked.
Save as Draft: Click Save as Draft to store an in-progress invoice without finalising it. Drafts appear in Invoice Drafts and can be resumed at any time.
Print Invoice: Click the Print button to open a print-optimised view of the invoice in a new tab. Use your browser's print dialog to print on A4, half-A4, or thermal paper (58mm/80mm) depending on your printer settings.
Download PDF: Click Download PDF to generate and download a PDF copy of the invoice to your device.
Share via WhatsApp: Click the WhatsApp button. EzDukkan generates a pre-formatted WhatsApp message containing the invoice summary and a link to the invoice. It opens WhatsApp Web (or the WhatsApp app on mobile) with the customer's phone number pre-filled. One tap sends the invoice.
Share Link: Copy a direct link to the invoice view page that you can paste into any messaging app or email.
If you started an invoice and navigated away without saving, EzDukkan may save it automatically as a draft depending on your settings.
To resume: Go to Invoice Drafts from the sidebar. Find the draft and click it. The invoice builder reopens with all previous data — line items, client details, and invoice settings — exactly as you left them.
You can maintain multiple simultaneous drafts. This is useful for multi-counter businesses where different staff members may be building invoices at the same time.
Can I edit an invoice after saving it? Yes. Go to Invoices, find the invoice, and click Edit. You can modify the invoice. Note that if you change products or quantities, stock will be adjusted accordingly.
What happens to stock when I save an invoice? Stock quantities for each catalogue product on the invoice are immediately decremented. If a product's stock falls to zero, EzDukkan will show a warning but still allow the sale (it goes negative, indicating you need to replenish).
Can I give a different price to a specific customer? Yes. Simply edit the Rate field for any line item directly on the invoice. The price you set overrides the catalogue price for that invoice only.
Can I add items that aren't in my catalogue? Yes. Search for the item, and when it doesn't appear, choose "Add as Custom Item." You can type any name, quantity, and price. These custom items do not affect inventory.
How do I add a service charge or delivery fee? Add a custom line item named "Delivery Charge" or "Service Fee" and enter the amount. Set GST to 18% (for services) or 0% depending on your setup.
To speed up your data entry, the Create Invoice page supports the following keyboard shortcuts (use ALT instead of OPT if you are on Windows):
- OPT + W — Focus the Customer search field
- OPT + SHIFT + W — Add a New Customer
- OPT + A — Search / Add a Product to the invoice
- OPT + S — Open Barcode Scanner
- OPT + 1 / 2 / 3 — Set Payment Status (Paid / Unpaid / Partial)
- OPT + I — Focus Invoice Date
- OPT + D — Focus Due Date
- OPT + N — Focus Notes & Remarks
- OPT + H — Hold as Draft
Using these shortcuts, you can record an entire invoice without taking your hands off the keyboard.