Finance API
Complete financial management — invoicing, purchasing, payments, general ledger, reporting, and analytics.
All endpoints prefixed with /api/v1/finance
Customer invoicing with status transitions and payment tracking.
/api/v1/finance/invoices Create a new invoice.
Auth: Bearer token · finance.create
Request Body
{
"customerId": 1,
"invoiceDate": "2026-06-01",
"dueDate": "2026-06-30",
"items": [
{ "itemId": 1, "quantity": 5, "rate": 100 }
]
} /api/v1/finance/invoices List invoices with pagination and filtering.
Auth: Bearer token · finance.view
/api/v1/finance/invoices/:id Get invoice by ID with line items.
Auth: Bearer token · finance.view
/api/v1/finance/invoices/:id Update an invoice.
Auth: Bearer token · finance.edit
/api/v1/finance/invoices/:id Delete an invoice.
Auth: Bearer token · finance.delete
/api/v1/finance/invoices/:id/status Transition invoice status (draft, sent, paid, void).
Auth: Bearer token · finance.edit
Request Body
{
"status": "sent"
} /api/v1/finance/invoices/:id/payments Get payments applied to an invoice.
Auth: Bearer token · finance.view
/api/v1/finance/invoices/:id/apply-payment Apply a payment to an invoice.
Auth: Bearer token · finance.edit
Automated recurring invoice generation.
/api/v1/finance/recurring-invoices Create a new recurring invoice profile.
Auth: Bearer token · finance.create
/api/v1/finance/recurring-invoices List recurring invoices.
Auth: Bearer token · finance.view
/api/v1/finance/recurring-invoices/:id Get recurring invoice by ID with items.
Auth: Bearer token · finance.view
/api/v1/finance/recurring-invoices/:id Update a recurring invoice profile.
Auth: Bearer token · finance.edit
/api/v1/finance/recurring-invoices/:id Delete a recurring invoice profile.
Auth: Bearer token · finance.delete
/api/v1/finance/recurring-invoices/:id/status Update recurring invoice status (active, paused, cancelled).
Auth: Bearer token · finance.edit
Customer estimates with conversion to sales orders.
/api/v1/finance/estimates Create a new estimate.
Auth: Bearer token · finance.create
/api/v1/finance/estimates List estimates.
Auth: Bearer token · finance.view
/api/v1/finance/estimates/:id Get estimate by ID.
Auth: Bearer token · finance.view
/api/v1/finance/estimates/:id Update an estimate.
Auth: Bearer token · finance.edit
/api/v1/finance/estimates/:id Delete an estimate.
Auth: Bearer token · finance.delete
/api/v1/finance/estimates/:id/status Update estimate status.
Auth: Bearer token · finance.edit
/api/v1/finance/estimates/:id/convert-to-so Convert estimate to a sales order.
Auth: Bearer token · finance.create
Sales order management with invoice conversion.
/api/v1/finance/sales-orders Create a new sales order.
Auth: Bearer token · finance.create
/api/v1/finance/sales-orders List sales orders.
Auth: Bearer token · finance.view
/api/v1/finance/sales-orders/:id Get sales order by ID.
Auth: Bearer token · finance.view
/api/v1/finance/sales-orders/:id Update a sales order.
Auth: Bearer token · finance.edit
/api/v1/finance/sales-orders/:id Delete a sales order.
Auth: Bearer token · finance.delete
/api/v1/finance/sales-orders/:id/status Update sales order status.
Auth: Bearer token · finance.edit
/api/v1/finance/sales-orders/:id/convert-to-invoice Convert sales order to invoice.
Auth: Bearer token · finance.create
Vendor bill management with status transitions.
/api/v1/finance/bills Create a new bill.
Auth: Bearer token · finance.create
/api/v1/finance/bills List bills.
Auth: Bearer token · finance.view
/api/v1/finance/bills/:id Get bill by ID with items.
Auth: Bearer token · finance.view
/api/v1/finance/bills/:id Update a bill.
Auth: Bearer token · finance.edit
/api/v1/finance/bills/:id Delete a bill.
Auth: Bearer token · finance.delete
/api/v1/finance/bills/:id/payments Get payments applied to a bill.
Auth: Bearer token · finance.view
/api/v1/finance/bills/:id/status Transition bill status (draft, open, paid, void).
Auth: Bearer token · finance.edit
Request Body
{
"status": "open"
} Automated recurring bill generation.
/api/v1/finance/recurring-bills Create a new recurring bill profile.
Auth: Bearer token · finance.create
/api/v1/finance/recurring-bills List recurring bills.
Auth: Bearer token · finance.view
/api/v1/finance/recurring-bills/:id Get recurring bill by ID with line items.
Auth: Bearer token · finance.view
/api/v1/finance/recurring-bills/:id Update a recurring bill profile.
Auth: Bearer token · finance.edit
/api/v1/finance/recurring-bills/:id Delete a recurring bill profile.
Auth: Bearer token · finance.delete
/api/v1/finance/recurring-bills/:id/status Update recurring bill status.
Auth: Bearer token · finance.edit
Purchase order management with bill conversion.
/api/v1/finance/purchase-orders Create a new purchase order.
Auth: Bearer token · finance.create
/api/v1/finance/purchase-orders List purchase orders.
Auth: Bearer token · finance.view
/api/v1/finance/purchase-orders/:id Get purchase order by ID with items.
Auth: Bearer token · finance.view
/api/v1/finance/purchase-orders/:id Update a purchase order.
Auth: Bearer token · finance.edit
/api/v1/finance/purchase-orders/:id Delete a purchase order.
Auth: Bearer token · finance.delete
/api/v1/finance/purchase-orders/:id/status Update purchase order status.
Auth: Bearer token · finance.edit
/api/v1/finance/purchase-orders/:id/convert-to-bill Convert purchase order to a bill.
Auth: Bearer token · finance.create
Customer credit notes with invoice allocation.
/api/v1/finance/credit-notes Create a new credit note.
Auth: Bearer token · finance.create
/api/v1/finance/credit-notes List credit notes.
Auth: Bearer token · finance.view
/api/v1/finance/credit-notes/:id Get credit note by ID with items.
Auth: Bearer token · finance.view
/api/v1/finance/credit-notes/:id Update a credit note.
Auth: Bearer token · finance.edit
/api/v1/finance/credit-notes/:id Delete a credit note.
Auth: Bearer token · finance.delete
/api/v1/finance/credit-notes/:id/allocate Allocate credit note against invoices.
Auth: Bearer token · finance.edit
/api/v1/finance/credit-notes/:id/status Update credit note status.
Auth: Bearer token · finance.edit
Vendor debit notes with bill allocation.
/api/v1/finance/debit-notes Create a new debit note.
Auth: Bearer token · finance.create
/api/v1/finance/debit-notes List debit notes.
Auth: Bearer token · finance.view
/api/v1/finance/debit-notes/:id Get debit note by ID with line items.
Auth: Bearer token · finance.view
/api/v1/finance/debit-notes/:id Update a debit note.
Auth: Bearer token · finance.edit
/api/v1/finance/debit-notes/:id Delete a debit note.
Auth: Bearer token · finance.delete
/api/v1/finance/debit-notes/:id/allocate Allocate debit note against bills.
Auth: Bearer token · finance.edit
/api/v1/finance/debit-notes/:id/status Update debit note status.
Auth: Bearer token · finance.edit
Customer payment recording and allocation.
/api/v1/finance/payments-received Record a new payment received.
Auth: Bearer token · finance.create
Request Body
{
"customerId": 1,
"amount": 5000,
"paymentDate": "2026-06-15",
"paymentMode": "bank_transfer",
"reference": "CHK-001",
"allocations": [
{ "invoiceId": 1, "amount": 5000 }
]
} /api/v1/finance/payments-received List payments received.
Auth: Bearer token · finance.view
/api/v1/finance/payments-received/:id Get payment received by ID.
Auth: Bearer token · finance.view
/api/v1/finance/payments-received/:id Update payment metadata.
Auth: Bearer token · finance.edit
/api/v1/finance/payments-received/:id/allocations Add an allocation to an existing payment.
Auth: Bearer token · finance.edit
/api/v1/finance/payments-received/:id/allocations/:allocId Remove an allocation.
Auth: Bearer token · finance.edit
/api/v1/finance/payments-received/:id Delete a payment received.
Auth: Bearer token · finance.delete
Vendor payment recording and allocation.
/api/v1/finance/payments-made Create a new payment made.
Auth: Bearer token · finance.create
/api/v1/finance/payments-made List payments made.
Auth: Bearer token · finance.view
/api/v1/finance/payments-made/:id Get payment made by ID.
Auth: Bearer token · finance.view
/api/v1/finance/payments-made/:id Update payment metadata.
Auth: Bearer token · finance.edit
/api/v1/finance/payments-made/:id/allocations Add an allocation to an existing payment.
Auth: Bearer token · finance.edit
/api/v1/finance/payments-made/:id/allocations/:allocId Remove an allocation.
Auth: Bearer token · finance.edit
/api/v1/finance/payments-made/:id Delete a payment made.
Auth: Bearer token · finance.delete
Advance payment tracking.
/api/v1/finance/advance-payments Create a new advance payment.
Auth: Bearer token · finance.create
/api/v1/finance/advance-payments List advance payments.
Auth: Bearer token · finance.view
/api/v1/finance/advance-payments/:id Get advance payment by ID.
Auth: Bearer token · finance.view
/api/v1/finance/advance-payments/:id Update an advance payment.
Auth: Bearer token · finance.edit
/api/v1/finance/advance-payments/:id Delete an advance payment.
Auth: Bearer token · finance.delete
Expense tracking with receipt upload and AI extraction.
/api/v1/finance/expenses/upload-receipt Upload a receipt image and extract data via AI.
Auth: Bearer token · finance.create
/api/v1/finance/expenses Create a new expense.
Auth: Bearer token · finance.create
/api/v1/finance/expenses List expenses.
Auth: Bearer token · finance.view
/api/v1/finance/expenses/:id Get expense by ID with items.
Auth: Bearer token · finance.view
/api/v1/finance/expenses/:id Update an expense.
Auth: Bearer token · finance.edit
/api/v1/finance/expenses/:id Delete an expense.
Auth: Bearer token · finance.delete
/api/v1/finance/expenses/:id/status Update expense status.
Auth: Bearer token · finance.edit
Manual journal entries for general ledger.
/api/v1/finance/journals Create a new journal entry.
Auth: Bearer token · finance.create
Request Body
{
"date": "2026-06-30",
"reference": "JE-001",
"lines": [
{ "accountId": 1, "debit": 1000, "credit": 0 },
{ "accountId": 2, "debit": 0, "credit": 1000 }
]
} /api/v1/finance/journals List journal entries.
Auth: Bearer token · finance.view
/api/v1/finance/journals/:id Get journal entry by ID.
Auth: Bearer token · finance.view
/api/v1/finance/journals/:id Update a journal entry.
Auth: Bearer token · finance.edit
/api/v1/finance/journals/:id Delete a journal entry.
Auth: Bearer token · finance.delete
/api/v1/finance/journals/:id/post Post a journal entry (validates balance and updates accounts).
Auth: Bearer token · finance.approve
Account structure for general ledger.
/api/v1/finance/chart-of-accounts Create a new account.
Auth: Bearer token · finance.create
Request Body
{
"name": "Office Supplies",
"code": "6100",
"accountType": "expense",
"parentId": null
} /api/v1/finance/chart-of-accounts List accounts with pagination.
Auth: Bearer token · finance.view
/api/v1/finance/chart-of-accounts/hierarchy Get full chart of accounts tree.
Auth: Bearer token · finance.view
/api/v1/finance/chart-of-accounts/account-types List all account types.
Auth: Bearer token · finance.view
/api/v1/finance/chart-of-accounts/:id Get account by ID.
Auth: Bearer token · finance.view
/api/v1/finance/chart-of-accounts/:id Update an account.
Auth: Bearer token · finance.edit
/api/v1/finance/chart-of-accounts/:id Delete an account (soft delete).
Auth: Bearer token · finance.delete
General ledger entry queries.
/api/v1/finance/gl-entries Query general ledger entries with filters (date range, account, etc.).
Auth: Bearer token · finance.view
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| accountId | number | Filter by account |
| startDate | string | Start date (ISO) |
| endDate | string | End date (ISO) |
| page | number | Page number |
| limit | number | Items per page |
General Ledger combination records.
/api/v1/finance/gl-ledgers Create a new GL Ledger combination.
Auth: Bearer token · finance.create
/api/v1/finance/gl-ledgers List GL Ledgers.
Auth: Bearer token · finance.view
/api/v1/finance/gl-ledgers/:id Get GL Ledger by ID.
Auth: Bearer token · finance.view
/api/v1/finance/gl-ledgers/:id Update GL Ledger (description/status only).
Auth: Bearer token · finance.edit
/api/v1/finance/gl-ledgers/:id Soft-delete a GL Ledger.
Auth: Bearer token · finance.delete
Finance customer records (separate from Sales contacts).
/api/v1/finance/customers Create a new customer.
Auth: Bearer token · finance.create
/api/v1/finance/customers List customers.
Auth: Bearer token · finance.view
/api/v1/finance/customers/:id Get customer by ID.
Auth: Bearer token · finance.view
/api/v1/finance/customers/:id Update a customer.
Auth: Bearer token · finance.edit
/api/v1/finance/customers/:id Delete a customer (soft delete).
Auth: Bearer token · finance.delete
Vendor/supplier records.
/api/v1/finance/vendors Create a new vendor.
Auth: Bearer token · finance.create
/api/v1/finance/vendors List vendors.
Auth: Bearer token · finance.view
/api/v1/finance/vendors/:id Get vendor by ID.
Auth: Bearer token · finance.view
/api/v1/finance/vendors/:id Update a vendor.
Auth: Bearer token · finance.edit
/api/v1/finance/vendors/:id Delete a vendor (soft delete).
Auth: Bearer token · finance.delete
Products and services catalog.
/api/v1/finance/items Create a new item.
Auth: Bearer token · finance.create
Request Body
{
"name": "Consulting Service",
"type": "service",
"rate": 150,
"unit": "hour",
"taxRateId": 1
} /api/v1/finance/items List items.
Auth: Bearer token · finance.view
/api/v1/finance/items/:id Get item by ID.
Auth: Bearer token · finance.view
/api/v1/finance/items/:id Update an item.
Auth: Bearer token · finance.edit
/api/v1/finance/items/:id Delete an item (soft delete).
Auth: Bearer token · finance.delete
Categorize items into groups.
/api/v1/finance/item-groups Create a new item group.
Auth: Bearer token · finance.create
/api/v1/finance/item-groups List item groups.
Auth: Bearer token · finance.view
/api/v1/finance/item-groups/:id Get item group by ID.
Auth: Bearer token · finance.view
/api/v1/finance/item-groups/:id Update an item group.
Auth: Bearer token · finance.edit
/api/v1/finance/item-groups/:id Delete an item group.
Auth: Bearer token · finance.delete
Customer-specific or tiered pricing.
/api/v1/finance/price-lists Create a new price list.
Auth: Bearer token · finance.create
/api/v1/finance/price-lists List price lists.
Auth: Bearer token · finance.view
/api/v1/finance/price-lists/:id Get price list by ID with items.
Auth: Bearer token · finance.view
/api/v1/finance/price-lists/:id Update a price list.
Auth: Bearer token · finance.edit
/api/v1/finance/price-lists/:id Delete a price list.
Auth: Bearer token · finance.delete
/api/v1/finance/price-lists/:id/items Add an item to a price list.
Auth: Bearer token · finance.edit
/api/v1/finance/price-lists/:id/items/:itemId Update a price list item.
Auth: Bearer token · finance.edit
/api/v1/finance/price-lists/:id/items/:itemId Remove an item from a price list.
Auth: Bearer token · finance.edit
Multi-currency support.
/api/v1/finance/currencies Create a new currency.
Auth: Bearer token · finance.create
/api/v1/finance/currencies List currencies.
Auth: Bearer token · finance.view
/api/v1/finance/currencies/:id Get currency by ID.
Auth: Bearer token · finance.view
/api/v1/finance/currencies/:id Update a currency.
Auth: Bearer token · finance.edit
/api/v1/finance/currencies/:id Delete a currency (soft delete).
Auth: Bearer token · finance.delete
Foreign currency revaluation adjustments.
/api/v1/finance/currency-adjustments Create a new currency adjustment.
Auth: Bearer token · finance.create
/api/v1/finance/currency-adjustments List currency adjustments.
Auth: Bearer token · finance.view
/api/v1/finance/currency-adjustments/:id Get currency adjustment by ID.
Auth: Bearer token · finance.view
/api/v1/finance/currency-adjustments/:id Update a currency adjustment.
Auth: Bearer token · finance.edit
/api/v1/finance/currency-adjustments/:id Delete a currency adjustment.
Auth: Bearer token · finance.delete
Finance-specific approval workflow.
/api/v1/finance/approvals Request a new approval.
Auth: Bearer token · finance.create
/api/v1/finance/approvals List approvals.
Auth: Bearer token · finance.view
/api/v1/finance/approvals/pending Get pending approvals.
Auth: Bearer token
/api/v1/finance/approvals/pending/count Get pending approval count.
Auth: Bearer token
/api/v1/finance/approvals/entity/:entityType/:entityId Get approvals for a specific entity.
Auth: Bearer token · finance.view
/api/v1/finance/approvals/status/:status Get approvals by status.
Auth: Bearer token · finance.view
/api/v1/finance/approvals/:id Get approval by ID.
Auth: Bearer token · finance.view
/api/v1/finance/approvals/:id/approve Approve a request.
Auth: Bearer token · finance.approve
/api/v1/finance/approvals/:id/reject Reject a request.
Auth: Bearer token · finance.approve
/api/v1/finance/approvals/:id/cancel Cancel an approval request.
Auth: Bearer token
Standard financial reports.
/api/v1/finance/reports/trial-balance Get trial balance report.
Auth: Bearer token · finance.view
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| asOfDate | string | Report date (ISO) |
/api/v1/finance/reports/profit-loss Get profit and loss (income statement).
Auth: Bearer token · finance.view
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| startDate | string | Period start |
| endDate | string | Period end |
/api/v1/finance/reports/balance-sheet Get balance sheet.
Auth: Bearer token · finance.view
/api/v1/finance/reports/cash-flow Get cash flow statement.
Auth: Bearer token · finance.view
/api/v1/finance/reports/general-ledger Get general ledger report.
Auth: Bearer token · finance.view
/api/v1/finance/reports/customer-aging Get customer aging report.
Auth: Bearer token · finance.view
/api/v1/finance/reports/vendor-aging Get vendor aging report.
Auth: Bearer token · finance.view
Financial dashboard and analytics.
/api/v1/finance/stats/dashboard Get comprehensive dashboard statistics.
Auth: Bearer token · finance.view
/api/v1/finance/stats/revenue-timeseries Get monthly revenue/expenses/net time series.
Auth: Bearer token · finance.view
/api/v1/finance/stats/top-customers Get top customers by total invoiced amount.
Auth: Bearer token · finance.view
/api/v1/finance/stats/top-items Get top items by total quantity sold.
Auth: Bearer token · finance.view
PDF generation and delivery for financial documents.
/api/v1/finance/documents/:type/:id/generate-pdf Queue PDF generation for a finance document.
Auth: Bearer token · finance.view
/api/v1/finance/documents/:id/status Poll document generation status.
Auth: Bearer token · finance.view
/api/v1/finance/documents/:id/download Download a generated PDF.
Auth: Bearer token · finance.view
/api/v1/finance/documents/:type/:id/latest Get the most recently generated PDF for an entity.
Auth: Bearer token · finance.view
/api/v1/finance/documents/:type/:id/send-with-pdf Send an email with the PDF attached.
Auth: Bearer token · finance.edit
Goods delivery tracking documents.
/api/v1/finance/delivery-challans Create a new delivery challan.
Auth: Bearer token · finance.create
/api/v1/finance/delivery-challans List delivery challans.
Auth: Bearer token · finance.view
/api/v1/finance/delivery-challans/:id Get delivery challan by ID.
Auth: Bearer token · finance.view
/api/v1/finance/delivery-challans/:id Update a delivery challan.
Auth: Bearer token · finance.edit
/api/v1/finance/delivery-challans/:id Delete a delivery challan.
Auth: Bearer token · finance.delete
/api/v1/finance/delivery-challans/:id/status Update delivery challan status.
Auth: Bearer token · finance.edit
Package/shipment tracking.
/api/v1/finance/packages Create a new package.
Auth: Bearer token · finance.create
/api/v1/finance/packages List packages.
Auth: Bearer token · finance.view
/api/v1/finance/packages/:id Get package by ID.
Auth: Bearer token · finance.view
/api/v1/finance/packages/:id Update a package.
Auth: Bearer token · finance.edit
/api/v1/finance/packages/:id Delete a package.
Auth: Bearer token · finance.delete
/api/v1/finance/packages/:id/status Update package status.
Auth: Bearer token · finance.edit
Multi-entity company management.
/api/v1/finance/companies Create a new company.
Auth: Bearer token · finance.create
/api/v1/finance/companies List companies.
Auth: Bearer token · finance.view
/api/v1/finance/companies/:id Get company by ID.
Auth: Bearer token · finance.view
/api/v1/finance/companies/:id Update a company.
Auth: Bearer token · finance.edit
/api/v1/finance/companies/:id Delete a company.
Auth: Bearer token · finance.delete
Cost center hierarchy for expense tracking.
/api/v1/finance/cost-centers Create a new cost center.
Auth: Bearer token · finance.create
/api/v1/finance/cost-centers List cost centers.
Auth: Bearer token · finance.view
/api/v1/finance/cost-centers/hierarchy Get cost center hierarchy tree.
Auth: Bearer token · finance.view
/api/v1/finance/cost-centers/:id Get cost center by ID.
Auth: Bearer token · finance.view
/api/v1/finance/cost-centers/:id Update a cost center.
Auth: Bearer token · finance.edit
/api/v1/finance/cost-centers/:id Delete a cost center.
Auth: Bearer token · finance.delete
Financial project tracking.
/api/v1/finance/projects Create a new financial project.
Auth: Bearer token · finance.create
/api/v1/finance/projects List financial projects.
Auth: Bearer token · finance.view
/api/v1/finance/projects/:id Get project by ID.
Auth: Bearer token · finance.view
/api/v1/finance/projects/:id Update a project.
Auth: Bearer token · finance.edit
/api/v1/finance/projects/:id Delete a project.
Auth: Bearer token · finance.delete
Product line categorization.
/api/v1/finance/product-lines Create a new product line.
Auth: Bearer token · finance.create
/api/v1/finance/product-lines List product lines.
Auth: Bearer token · finance.view
/api/v1/finance/product-lines/:id Get product line by ID.
Auth: Bearer token · finance.view
/api/v1/finance/product-lines/:id Update a product line.
Auth: Bearer token · finance.edit
/api/v1/finance/product-lines/:id Delete a product line.
Auth: Bearer token · finance.delete
Business line segmentation.
/api/v1/finance/lob Create a new line of business.
Auth: Bearer token · finance.create
/api/v1/finance/lob List lines of business.
Auth: Bearer token · finance.view
/api/v1/finance/lob/:id Get line of business by ID.
Auth: Bearer token · finance.view
/api/v1/finance/lob/:id Update a line of business.
Auth: Bearer token · finance.edit
/api/v1/finance/lob/:id Delete a line of business.
Auth: Bearer token · finance.delete
Item transaction history.
/api/v1/finance/item-ledger List ledger entries by item with optional date range.
Auth: Bearer token · finance.view
/api/v1/finance/item-ledger/by-reference/:type/:id Get ledger entries by reference type and ID.
Auth: Bearer token · finance.view
Finance module activity tracking.
/api/v1/finance/activities Create a new activity entry.
Auth: Bearer token · finance.create
/api/v1/finance/activities List activities for a specific entity.
Auth: Bearer token · finance.view
File attachments for financial documents.
/api/v1/finance/attachments Create a new attachment record.
Auth: Bearer token · finance.create
/api/v1/finance/attachments/by-entity/:entityType/:entityId List attachments for an entity.
Auth: Bearer token · finance.view
/api/v1/finance/attachments/:id Delete an attachment.
Auth: Bearer token · finance.delete
Country reference data.
/api/v1/finance/countries List active countries with optional search.
Auth: Bearer token · finance.view