create_advance
Record a customer advance received before supply. The amount is gross of GST: the taxable value is backed out at taxRate and the tax split CGST+SGST intra-state, IGST inter-state. Waits for the person's approval…
customerId: integer, bankAccountId: integer, amount: integer, taxRate: number?, natureOfSupply: string?, placeOfSupply: string?, paymentMode: string?, advanceDate: string?, … (list cut; the site may define more)
create_bank_account
Add a bank account under Bank Accounts, for receipts and payments. Waits for the person's approval: returns {status:"pending_approval", proposalId}; call get_proposal for the outcome. Needs an open .khata.
name: string, agentName: string?
create_credit_note
Raise and post a credit note against an invoice: full reversal, or partial by amount pro-rated over every line. Known gap: cess on the invoice is not reversed. Waits for the person's approval: returns…
invoiceId: integer, cnDate: string?, cnNumber: string?, reason: string?, notes: string?, amount: integer?, agentName: string?
create_customer
Add a customer. A GSTIN, when given, must be well formed and agree with the state. Waits for the person's approval: returns {status:"pending_approval", proposalId}; call get_proposal for the outcome. Needs an open…
name: string, gstin: string?, pan: string?, state: string?, email: string?, phone: string?, address: string?, openingBalance: integer?, … (list cut; the site may define more)
create_debit_note
Raise and post a debit note against a purchase: full reversal, or partial by amount pro-rated over every line. Waits for the person's approval: returns {status:"pending_approval", proposalId}; call get_proposal for…
purchaseId: integer, dnDate: string?, dnNumber: string?, reason: string?, notes: string?, amount: integer?, agentName: string?
create_delivery_challan
Goods leaving or returning without a sale. Moves stock; posts no ledger entry. outward-return names a vendor; the other types name a customer. Waits for the person's approval: returns {status:"pending_approval"…
challanType: string?, customerId: integer?, vendorId: integer?, lines: array, challanDate: string?, challanNumber: string?, destination: string?, vehicleNo: string?, … (list cut; the site may define more)
create_eway_bill
Draft an e-way bill from a posted invoice or a delivery challan. The portal issues the number; record it with record_eway_bill_number. Waits for the person's approval: returns {status:"pending_approval", proposalId}…
sourceType: string, sourceId: integer, transporterName: string?, transporterId: string?, vehicleNo: string?, vehicleType: string?, mode: string?, distanceKm: integer?, … (list cut; the site may define more)
create_godown
Add a godown or warehouse. Waits for the person's approval: returns {status:"pending_approval", proposalId}; call get_proposal for the outcome. Needs an open .khata.
name: string, address: string?, state: string?, isDefault: boolean?, agentName: string?
create_invoice
Raise and post a sales invoice: header, lines, GST routing (CGST+SGST intra-state, IGST inter-state), ledger entry and stock effect, exactly as the invoice form does. Waits for the person's approval: returns…
customerId: integer, lines: array, invoiceDate: string?, invoiceNumber: string?, series: string?, placeOfSupply: string?, notes: string?, isComposition: boolean?, … (list cut; the site may define more)
create_invoice_series
Add an invoice number series: prefix, suffix, starting number and FY reset. Waits for the person's approval: returns {status:"pending_approval", proposalId}; call get_proposal for the outcome. Needs an open .khata.
name: string, prefix: string, suffix: string?, startingNumber: integer?, resetOnFy: boolean?, defaultFor: string?, agentName: string?
create_item
Add an item or service. A goods item with inventory and an opening quantity posts its opening stock into the default godown. Waits for the person's approval: returns {status:"pending_approval", proposalId}; call…
name: string, isService: boolean?, hsnSac: string?, unit: string?, defaultRate: integer?, taxRate: number?, enableInventory: boolean?, valuationMethod: string?, … (list cut; the site may define more)
create_payment
Record and post a customer receipt allocated against that customer's invoices. The receipt amount is the sum of the allocations; an unallocated receipt is an advance, a different voucher. Waits for the person's…
customerId: integer, bankAccountId: integer, allocations: array, paymentDate: string?, paymentNumber: string?, paymentMode: string?, reference: string?, notes: string?, … (list cut; the site may define more)
create_purchase
Record and post a vendor purchase: header, lines, ITC and reverse-charge routing, ledger entry and stock effect, exactly as the purchase form does. Waits for the person's approval: returns {status:"pending_approval"…
vendorId: integer, billNumber: string, lines: array, billDate: string?, internalRef: string?, placeOfSupply: string?, notes: string?, reverseCharge: boolean?, … (list cut; the site may define more)
create_stock_transfer
Record an outbound inter-GSTIN stock transfer with IGST per line. Returns the payload the receiving branch imports; saving it as a file is the person's. Waits for the person's approval: returns…
toGstin: string, toState: string, lines: array, transferDate: string?, transferNumber: string?, agentName: string?
create_tcs_collection
Record TCS collected from a customer: the Form 27EQ row and Dr Sundry Debtors / Cr TCS Payable. Waits for the person's approval: returns {status:"pending_approval", proposalId}; call get_proposal for the outcome.…
customerId: integer, section: string, taxableAmount: integer, rate: number?, collectionDate: string?, invoiceId: integer?, agentName: string?
create_vendor
Add a vendor, with its reverse-charge flag and default TDS section. Waits for the person's approval: returns {status:"pending_approval", proposalId}; call get_proposal for the outcome. Needs an open .khata.
name: string, gstin: string?, pan: string?, state: string?, email: string?, phone: string?, address: string?, openingBalance: integer?, … (list cut; the site may define more)
create_vendor_payment
Pay a vendor, withholding TDS when a section applies: Dr Sundry Creditors (gross) / Cr Bank (net) / Cr TDS Payable. Records the Form 26Q deduction. Waits for the person's approval: returns {status:"pending_approval"…
vendorId: integer, bankAccountId: integer, amount: integer, tdsSection: string?, tdsRate: number?, paymentMode: string?, paymentDate: string?, paymentNumber: string?, … (list cut; the site may define more)
describe_toolsread-only
Every tool with its kind, JSON-schema input and approval rule, the person-only acts no agent can perform, and the UI routes not yet covered. Start here.
get_account_ledgerread-onlyuntrusted content
One account's ledger lines over a date range. Needs an open .khata.
accountId: integer, from: string, to: string
get_balance_sheetread-only
Balance sheet as of a date. Asset balances carry the same sign the UI renders. Needs an open .khata.
asOf: string?
get_bank_reconciliationread-onlyuntrusted content
One bank account's ledger lines over a period with their cleared status, the book balance for the period, and the last saved reconciliation. Needs an open .khata.
accountId: integer, from: string, to: string
get_challan_templateread-onlyuntrusted content
The data sheet for one challan, prefilled with the company's identity. Bahi submits nothing; the person takes it to the portal. Needs an open .khata.
code: string
get_cmp08read-only
CMP-08 for a quarter: aggregate turnover from posted invoices and tax at the composition rate. Refused when the composition scheme is off, as the screen does. Needs an open .khata.
fyStartYear: integer, quarter: integer
get_dashboardread-onlyuntrusted content
The dashboard's figures: cash flow, the current GST liability, receivables aging, top customers by outstanding, and recent activity. Needs an open .khata.
topCustomers: integer?, recentActivity: integer?
get_day_bookread-onlyuntrusted content
Every voucher posted in a date range, both ends inclusive. Needs an open .khata.
from: string, to: string
get_file_inforead-onlyuntrusted content
Company identity, file name, versions, save status and integrity heads of the open .khata. Needs an open .khata.
get_form26qread-onlyuntrusted content
Quarterly TDS return data: Form 26Q up to FY 2025-26, Form 140 from FY 2026-27 (formName in the result). Needs an open .khata.
fyStartYear: integer, quarter: integer
get_form27d_summaryread-onlyuntrusted content
TDS per vendor for a quarter: the figures each TDS certificate carries (Form 16A, Form 131 from FY 2026-27). The tool keeps its old name; Form 27D is the TCS certificate. The PDF itself is the screen's. Needs an open…
fyStartYear: integer, quarter: integer
get_form27eqread-onlyuntrusted content
Quarterly TCS return data (Form 27EQ up to FY 2025-26, Form 143 from FY 2026-27), with the validation errors the screen shows. Needs an open .khata.
fyStartYear: integer, quarter: integer
get_gstr1read-onlyuntrusted content
GSTR-1 outward-supplies data for a period, in the portal JSON shape (rupees, as the portal wants). Needs an open .khata.
periodStart: string, periodEnd: string
get_gstr3bread-only
GSTR-3B summary for a period, in paise. Needs an open .khata.
periodStart: string, periodEnd: string
get_inventory_summaryread-only
The inventory dashboard: total stock value, items valued, items to reorder, expired batches still holding stock, and the aging buckets' totals. Needs an open .khata.
get_pnlread-onlyuntrusted content
Income less expense over every posting, per account, with totals and net profit. Labels are the account names frozen at posting. Needs an open .khata.
get_proposalread-onlyuntrusted content
One proposal: its status and, once applied, its result (for example the new invoiceId).
proposalId: string
get_purchase_registerread-onlyuntrusted content
Posted purchases in a date range, oldest first, with tax columns and their totals. Needs an open .khata.
from: string, to: string
get_receivables_agingread-onlyuntrusted content
Receivables aged into buckets as of a date (default today). Needs an open .khata.
asOf: string?
get_reorder_alertsread-onlyuntrusted content
Items at or below their reorder level, with how short each one is and its preferred vendor. Needs an open .khata.
get_sales_registerread-onlyuntrusted content
Posted invoices in a date range, oldest first, with tax columns and their totals. Needs an open .khata.
from: string, to: string
get_statusread-only
Whether a .khata is open and writable, the route and mode this tab shows, which doors are open, and how many proposals wait for the person.
get_stock_agingread-onlyuntrusted content
Batches with stock, bucketed by age as of today: 0–30, 31–60, 61–90 and over 90 days. Needs an open .khata.
get_stock_on_handread-onlyuntrusted content
Closing stock per item per godown. Needs an open .khata.
itemId: integer?, godownId: integer?
get_stock_registerread-onlyuntrusted content
One item's movements over a date range, oldest first. Quantities are signed: issues are negative. Needs an open .khata.
itemId: integer, from: string, to: string
get_stock_valuationread-onlyuntrusted content
Closing stock valuation as of a date, by each item's WAC or FIFO method. Needs an open .khata.
asOf: string?
get_trial_balanceread-only
Trial balance as of a date, with the Dr = Cr tie check. Amounts in paise. Needs an open .khata.
asOf: string?
list_accountsread-onlyuntrusted content
Chart-of-accounts entries: id, name and type. Journal lines and receipts name accounts by id. Needs an open .khata.
q: string?, limit: integer?, offset: integer?, includeArchived: boolean?
list_advancesread-onlyuntrusted content
Customer advances, newest first, with the taxable value, the amount adjusted against invoices and the open balance. Needs an open .khata.
from: string?, to: string?, customerId: integer?, limit: integer?, offset: integer?
list_annotationsread-onlyuntrusted content
CA annotations on entries and documents, newest first. Needs an open .khata.
status: string?, targetType: string?, targetId: integer?
list_audit_entriesread-onlyuntrusted content
The most recent audit-log entries, newest first. Read your own writes back and confirm attribution; includePayload shows the agentCall record. Needs an open .khata.
limit: integer?, includePayload: boolean?
list_bank_accountsread-onlyuntrusted content
Bank and cash accounts, by id, as the reconciliation screen lists them. Needs an open .khata.
list_batchesread-onlyuntrusted content
Batches that still hold stock, by item, with expiry and remaining quantity and value. Needs an open .khata.
itemId: integer?, limit: integer?, offset: integer?
list_challan_templatesread-only
The tax-payment challan templates Bahi prepares data sheets for.
list_credit_notesread-onlyuntrusted content
Posted credit notes, latest first, with the invoice each one reverses. Needs an open .khata.
from: string?, to: string?, customerId: integer?, limit: integer?, offset: integer?
list_customersread-onlyuntrusted content
Customers, paged. Archived ones are hidden unless includeArchived, as in the UI. Needs an open .khata.
q: string?, limit: integer?, offset: integer?, includeArchived: boolean?
list_debit_notesread-onlyuntrusted content
Posted debit notes, latest first, with the bill each one reverses. Needs an open .khata.
from: string?, to: string?, vendorId: integer?, limit: integer?, offset: integer?
list_delivery_challansread-onlyuntrusted content
Delivery challans, latest first, with party, vehicle and return status. Needs an open .khata.
from: string?, to: string?, limit: integer?, offset: integer?
list_eway_billsread-onlyuntrusted content
E-way bills, latest first, with the document each one covers. Needs an open .khata.
from: string?, to: string?, limit: integer?, offset: integer?
list_godownsread-onlyuntrusted content
Active godowns, the default first. Needs an open .khata.
list_invoice_seriesread-onlyuntrusted content
Invoice number series with prefix, suffix, starting number, FY reset and what each is the default for. Needs an open .khata.
list_invoicesread-onlyuntrusted content
Sales invoices of every status, newest first, with the amounts allocated, adjusted and still outstanding (paise). Needs an open .khata.
from: string?, to: string?, customerId: integer?, limit: integer?, offset: integer?
list_itemsread-onlyuntrusted content
Items and services, paged, with HSN/SAC, unit and default rate in paise. Needs an open .khata.
q: string?, limit: integer?, offset: integer?, includeArchived: boolean?
First 60 of 85 shown.