Save expense
Select a vendor, review amount details, categorize expenses with AI or manually, build a balanced journal entry, and save the bill
Save expense
Review extracted bill details, select or create a vendor, categorize expenses into accounts with AI or manually, and save with a balanced journal entry. For uploading and extracting bill data, see AI Bill Categorization.
Table of contents
- Extracted bill details
- Vendor selection
- Amount details
- Due date and notes
- TDS entries
- AI expense categorization
- Mixed GST rate handling
- New account suggestions
- Journal entry
- Journal entry balancing
- Saving
- Batch save
- Requirements
- Tips
- Related articles
Extracted bill details
A read-only card at the top summarizes the data extracted in the previous step.
| Field | Description |
|---|---|
| Invoice number | The bill or invoice identifier |
| Invoice date | Date from the document |
| Vendor name | Business name of the seller |
| GSTIN | Vendor's GST identification number (if available) |
| Line items | Table of each item with description, amount, and GST rate |
| Additional charges | Processing fees, freight, packing, and other charges |
| Confidence badge | Extraction confidence — green above 80%, secondary at 80% or below |
This card is not editable on the Save Expense page. To change extracted fields, go back to the upload page.
Vendor selection
Select an existing vendor or create a new one. The vendor dropdown pre-fills if the extracted GSTIN matches a vendor already in your system.
Selecting an existing vendor:
- Open the vendor dropdown and search by name or GSTIN
- The list shows each vendor's name and GSTIN (if available)
- Select the matching vendor
Creating a new vendor:
Click "Create New Vendor" in the dropdown to open the create dialog. When coming from AI extraction, the name, GSTIN, and address fields are pre-filled from the extracted data.
After creating the vendor, it is automatically selected.
Note: The bill always stores the extracted vendor name, GSTIN, and address as text fields, whether or not a vendor record is linked. You can save a bill without selecting or creating a vendor.
Amount details
Currency selector — choose the bill's currency from the dropdown (INR, USD, EUR, GBP, AUD, SGD, AED). The total amount from extraction is shown as read-only in the selected currency.
International currency handling — when a non-INR currency is selected:
- An exchange rate is auto-fetched for the invoice date
- The conversion is shown as "1 {currency} = X INR"
- You can manually override the exchange rate if needed
- The INR equivalent is calculated automatically and can also be overridden
Amount summary — a breakdown box shows:
- Subtotal
- CGST, SGST (intra-state) or IGST (inter-state) — shown only if greater than zero
- Total GST
- Total in the original currency
- Total in INR (for international bills, shown in green)
Due date and notes
Two optional fields in a side-by-side layout:
- Due Date — a calendar picker for the payment due date. Leave blank if not applicable.
- Notes — a text area for any additional notes about the bill.
TDS entries
Add one or more TDS (Tax Deducted at Source) entries when the bill requires tax deduction.
Adding TDS:
- Click "Add TDS" to add a TDS row
- Select the TDS section from the dropdown (e.g., 194C, 194J, 194H)
- Enter the TDS rate (percentage)
- Add more rows for bills that fall under multiple TDS sections
How TDS is calculated:
- The TDS base amount excludes GST when GST is shown separately on the bill, per CBDT Circular 23/2017
- Each TDS entry creates a separate credit journal line to the TDS payable account
- AI extraction may pre-fill TDS details from the document when detected
AI expense categorization
Click "AI Categorize" to generate journal lines automatically. The button appears only if you have AI access.
What AI analyzes:
- Line items, descriptions, amounts, and per-item GST rates
- Additional charges (processing fees, freight, etc.)
- GST breakdown with per-rate details
- Vendor name and bill category
- Your Chart of Accounts
What AI returns:
- Journal lines — each with debit/credit type, account code and name, amount, and narration
- Confidence score — how certain the AI is about the categorization
- Reasoning — why each account was chosen
- Per-rate GST lines — separate CGST/SGST or IGST lines for each GST rate slab
Editing suggestions:
You can edit any AI-generated line — change the account, switch between debit and credit, adjust amounts, or add and remove lines. AI suggestions are a starting point, not a final answer.
Retry on failure:
If categorization fails, an error message appears with a Retry button. In bulk flows, you can retry individual items without re-running the entire batch.
Mixed GST rate handling
Bills with items at different GST rates — for example, 5% on transport services and 18% on office supplies — produce separate GST journal lines for each rate slab.
Example: A bill with items at 5% and 18% GST (intra-state) generates:
| Line | Account | Amount |
|---|---|---|
| Dr | Transport Expense | ₹10,000 |
| Dr | Office Supplies | ₹5,000 |
| Dr | CGST Input (2.5%) | ₹250 |
| Dr | SGST Input (2.5%) | ₹250 |
| Dr | CGST Input (9%) | ₹450 |
| Dr | SGST Input (9%) | ₹450 |
| Cr | Accounts Payable | ₹16,400 |
AI computes per-rate breakdowns automatically. If AI omits any GST lines, the system adds them as a safety net using the extracted GST amounts.
New account suggestions
When no existing account matches a line item, AI may suggest creating a new account. A button appears below the journal lines: "Create X Suggested Account(s)".
Clicking it opens a modal listing each suggestion with a proposed name, code, account type, and optional GST rate and HSN/SAC code.
For each suggestion, you can:
- Create — add the account to your Chart of Accounts
- Use existing — map to an existing account instead
- Skip — dismiss the suggestion and select an account manually
Accounts are never created without your explicit approval.
Journal entry
The journal entry section is the core of the Save Expense page. On desktop, an Account Reference Panel is pinned to the left showing your Chart of Accounts for quick reference.
Each journal line has these fields:
| Field | Control | Notes |
|---|---|---|
| Type | Dropdown (Dr / Cr) | Debit or credit — required |
| Account | Searchable dropdown | Select from Chart of Accounts — required |
| Amount (INR) | Number input | Minimum 0.01 — required |
| Delete | Trash icon | Only available when more than 2 lines exist |
For international bills, the original currency equivalent is shown below each line's amount.
Adding and removing lines:
- Click "Add Line" in the card header to append an empty line
- Click the trash icon on any line to remove it (minimum 2 lines required)
Journal entry balancing
The Save Expense page uses the Largest Remainder Method to balance journal entries, handling floating-point rounding so total debits exactly equal total credits.
- Maximum automatic adjustment: 1 rupee (100 paisa). Larger differences are rejected and must be fixed manually.
- A green checkmark appears when balanced, with a note if an auto-adjustment was applied (e.g., "auto-adjusted by ₹0.01")
- A red indicator appears when unbalanced, showing the difference amount
Saving
Click "Save Expense" to finalize. The button is disabled until the journal entry is balanced.
Validation requirements:
- Invoice number and date must be present
- At least 2 journal lines
- Every line must have an account, amount (≥ 0.01), and type (debit or credit)
- Total debits must equal total credits
What gets created:
- A bill record with vendor, amounts, currency, due date, and notes
- Journal entries linked to the bill with all debit and credit lines
- The draft is marked as completed
After saving, you are redirected to the Bills list page.
Batch save
When saving multiple bills from a bulk upload, the system processes each bill sequentially with:
- Conflict detection — if a bill number already exists, the system detects the duplicate and offers resolution
- Partial failure handling — if one bill fails to save, the others continue. Failed items show an error with a retry option
- Per-item retry — retry any failed save individually without re-processing the entire batch
Requirements
- AI access — required for the AI Categorize button and account suggestions. Without it, you can still build journal entries manually. See AI Access Guide.
- Chart of Accounts — AI categorization and the account dropdowns pull from your accounts. See Chart of Accounts.
Tips
- Review AI suggestions — verify AI-suggested accounts and amounts before saving, especially for new vendors.
- Check mixed GST — bills with multiple GST rates should have separate GST lines per rate. Verify the breakdown matches the document.
- Use the reference panel — on desktop, the Chart of Accounts panel helps you pick the right account without leaving the page.
- Check the balance — the green checkmark confirms your entry is balanced. Fix any red indicators before saving.
- Override exchange rates — auto-fetched rates are based on the invoice date. Override if your actual rate differs.
Related articles
- AI Bill Categorization — uploading bills, AI extraction, confidence scores, and editing extracted data
- Bill Detail — viewing saved bill details, payments, and linked journal entries
- Bill-to-Journal Linking — how saved bills connect to journal entries
- AI Access Guide — managing AI access for your team
- Chart of Accounts — setting up accounts for categorization