Sage Business Cloud Accounting MCP Server for Cloudflare Workers
110 tools available in the Sage MCP server. Each tool can be called by AI assistants to perform specific actions.
sage_list_ledger_accountsList ledger accounts (chart of accounts) with pagination and filtering.
Args:
Returns: Paginated list of ledger accounts with balances.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"search": {
"type": "string",
"description": "Search query"
},
"visibleIn": {
"type": "string",
"description": "Filter by visibility"
},
"itemsPerPage": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Items per page"
}
}
}sage_get_ledger_accountGet a ledger account by ID.
Args:
Returns: The ledger account with all details including balance.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Ledger account ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}sage_create_ledger_accountCreate a new ledger account.
Args:
Returns: The created ledger account.
{
"type": "object",
"required": [
"name",
"ledgerAccountTypeId"
],
"properties": {
"name": {
"type": "string",
"description": "Account name"
},
"taxRateId": {
"type": "string",
"description": "Default tax rate ID"
},
"nominalCode": {
"type": "integer",
"description": "Nominal/account code"
},
"visibleInSales": {
"type": "boolean",
"description": "Show in sales"
},
"visibleInBanking": {
"type": "boolean",
"description": "Show in banking"
},
"visibleInExpenses": {
"type": "boolean",
"description": "Show in expenses"
},
"visibleInJournals": {
"type": "boolean",
"description": "Show in journals"
},
"visibleInPurchases": {
"type": "boolean",
"description": "Show in purchases"
},
"ledgerAccountTypeId": {
"type": "string",
"description": "Account type ID"
},
"ledgerAccountGroupId": {
"type": "string",
"description": "Account group ID"
}
}
}sage_update_ledger_accountUpdate an existing ledger account.
Args:
Returns: The updated ledger account.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Ledger account ID"
},
"name": {
"type": "string",
"description": "Account name"
},
"taxRateId": {
"type": "string",
"description": "Default tax rate ID"
},
"nominalCode": {
"type": "integer",
"description": "Nominal code"
},
"visibleInSales": {
"type": "boolean",
"description": "Show in sales"
},
"visibleInBanking": {
"type": "boolean",
"description": "Show in banking"
},
"visibleInExpenses": {
"type": "boolean",
"description": "Show in expenses"
},
"visibleInJournals": {
"type": "boolean",
"description": "Show in journals"
},
"visibleInPurchases": {
"type": "boolean",
"description": "Show in purchases"
}
}
}sage_delete_ledger_accountDelete a ledger account.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Ledger account ID"
}
}
}sage_delete_sales_quick_entryDelete a sales quick entry.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Sales quick entry ID"
}
}
}sage_list_tax_ratesList tax rates with pagination.
Args:
Returns: Paginated list of tax rates.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"itemsPerPage": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Items per page"
}
}
}sage_get_tax_rateGet a tax rate by ID.
Args:
Returns: The tax rate with all details.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Tax rate ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}sage_create_tax_rateCreate a new tax rate.
Args:
Returns: The created tax rate.
{
"type": "object",
"required": [
"name",
"percentage"
],
"properties": {
"name": {
"type": "string",
"description": "Tax rate name"
},
"agency": {
"type": "string",
"description": "Tax agency name"
},
"forSales": {
"type": "boolean",
"description": "Available for sales"
},
"isVisible": {
"type": "boolean",
"description": "Whether rate is visible"
},
"percentage": {
"type": "number",
"description": "Tax percentage"
},
"forPurchases": {
"type": "boolean",
"description": "Available for purchases"
}
}
}sage_update_tax_rateUpdate an existing tax rate.
Args:
Returns: The updated tax rate.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Tax rate ID"
},
"name": {
"type": "string",
"description": "Tax rate name"
},
"agency": {
"type": "string",
"description": "Tax agency name"
},
"isVisible": {
"type": "boolean",
"description": "Whether rate is visible"
},
"percentage": {
"type": "number",
"description": "Tax percentage"
}
}
}sage_delete_tax_rateDelete a tax rate.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Tax rate ID"
}
}
}sage_list_journalsList journals with pagination.
Args:
Returns: Paginated list of journals.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"itemsPerPage": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Items per page"
}
}
}sage_get_journalGet a journal by ID.
Args:
Returns: The journal with all details including journal lines.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Journal ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}sage_create_journalCreate a new journal entry.
Args:
Returns: The created journal.
{
"type": "object",
"required": [
"date",
"journalLines"
],
"properties": {
"date": {
"type": "string",
"description": "Journal date (YYYY-MM-DD)"
},
"reference": {
"type": "string",
"description": "Journal reference"
},
"description": {
"type": "string",
"description": "Journal description"
},
"journalLines": {
"type": "array",
"items": {
"type": "string"
},
"description": "Journal lines"
}
}
}sage_delete_journalDelete a journal.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Journal ID"
}
}
}sage_list_ledger_entriesList ledger entries (transactions) with pagination and filtering.
Args:
Returns: Paginated list of ledger entries.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"toDate": {
"type": "string",
"description": "To date (YYYY-MM-DD)"
},
"fromDate": {
"type": "string",
"description": "From date (YYYY-MM-DD)"
},
"itemsPerPage": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Items per page"
},
"ledgerAccountId": {
"type": "string",
"description": "Filter by ledger account ID"
}
}
}sage_list_contact_opening_balancesList contact opening balances.
Args:
Returns: Paginated list of contact opening balances.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"contactId": {
"type": "string",
"description": "Filter by contact ID"
},
"itemsPerPage": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Items per page"
}
}
}sage_create_contact_opening_balanceCreate a contact opening balance.
Args:
Returns: The created contact opening balance.
{
"type": "object",
"required": [
"contactId",
"transactionTypeId",
"date"
],
"properties": {
"date": {
"type": "string",
"description": "Date (YYYY-MM-DD)"
},
"contactId": {
"type": "string",
"description": "Contact ID"
},
"reference": {
"type": "string",
"description": "Reference"
},
"debitAmount": {
"type": "number",
"description": "Debit amount"
},
"creditAmount": {
"type": "number",
"description": "Credit amount"
},
"transactionTypeId": {
"type": "string",
"description": "Transaction type ID"
}
}
}sage_get_businessGet the current business information.
Returns: The business details including name, address, contact information.
{
"type": "object",
"properties": {}
}sage_list_countriesList all available countries.
Returns: List of countries with id, code, and name.
{
"type": "object",
"properties": {}
}sage_list_bank_opening_balancesList bank opening balances.
Args:
Returns: Paginated list of bank opening balances.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"itemsPerPage": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Items per page"
},
"bankAccountId": {
"type": "string",
"description": "Filter by bank account ID"
}
}
}sage_create_bank_opening_balanceCreate a bank opening balance.
Args:
Returns: The created bank opening balance.
{
"type": "object",
"required": [
"bankAccountId",
"transactionTypeId",
"date"
],
"properties": {
"date": {
"type": "string",
"description": "Date (YYYY-MM-DD)"
},
"reference": {
"type": "string",
"description": "Reference"
},
"debitAmount": {
"type": "number",
"description": "Debit amount"
},
"creditAmount": {
"type": "number",
"description": "Credit amount"
},
"bankAccountId": {
"type": "string",
"description": "Bank account ID"
},
"transactionTypeId": {
"type": "string",
"description": "Transaction type ID"
}
}
}sage_list_ledger_account_opening_balancesList ledger account opening balances.
Args:
Returns: Paginated list of ledger account opening balances.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"itemsPerPage": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Items per page"
},
"ledgerAccountId": {
"type": "string",
"description": "Filter by ledger account ID"
}
}
}sage_create_ledger_account_opening_balanceCreate a ledger account opening balance.
Args:
Returns: The created ledger account opening balance.
{
"type": "object",
"required": [
"ledgerAccountId",
"date"
],
"properties": {
"date": {
"type": "string",
"description": "Date (YYYY-MM-DD)"
},
"reference": {
"type": "string",
"description": "Reference"
},
"debitAmount": {
"type": "number",
"description": "Debit amount"
},
"creditAmount": {
"type": "number",
"description": "Credit amount"
},
"ledgerAccountId": {
"type": "string",
"description": "Ledger account ID"
}
}
}sage_list_bank_accountsList bank accounts with pagination.
Args:
Returns: Paginated list of bank accounts with balance information.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"itemsPerPage": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Items per page"
}
}
}sage_get_bank_accountGet a bank account by ID.
Args:
Returns: The bank account with all details including balance.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Bank account ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}sage_create_bank_accountCreate a new bank account.
Args:
Returns: The created bank account.
{
"type": "object",
"required": [
"accountName",
"bankAccountTypeId"
],
"properties": {
"bic": {
"type": "string",
"description": "BIC/SWIFT code"
},
"iban": {
"type": "string",
"description": "IBAN"
},
"sortCode": {
"type": "string",
"description": "Sort code / routing number"
},
"currencyId": {
"type": "string",
"description": "Currency ID"
},
"accountName": {
"type": "string",
"description": "Account name"
},
"nominalCode": {
"type": "integer",
"description": "Nominal code"
},
"accountNumber": {
"type": "string",
"description": "Account number"
},
"ledgerAccountId": {
"type": "string",
"description": "Ledger account ID"
},
"bankAccountTypeId": {
"type": "string",
"description": "Bank account type ID"
},
"defaultPaymentMethodId": {
"type": "string",
"description": "Default payment method ID"
}
}
}sage_update_bank_accountUpdate an existing bank account.
Args:
Returns: The updated bank account.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Bank account ID"
},
"bic": {
"type": "string",
"description": "BIC/SWIFT code"
},
"iban": {
"type": "string",
"description": "IBAN"
},
"sortCode": {
"type": "string",
"description": "Sort code"
},
"accountName": {
"type": "string",
"description": "Account name"
},
"accountNumber": {
"type": "string",
"description": "Account number"
}
}
}sage_delete_bank_accountDelete a bank account.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Bank account ID"
}
}
}sage_list_bank_depositsList bank deposits with pagination and filtering.
Args:
Returns: Paginated list of bank deposits.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"itemsPerPage": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Items per page"
},
"bankAccountId": {
"type": "string",
"description": "Filter by bank account ID"
}
}
}sage_get_bank_depositGet a bank deposit by ID.
Args:
Returns: The bank deposit with all details.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Bank deposit ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}sage_create_bank_depositCreate a new bank deposit.
Args:
Returns: The created bank deposit.
{
"type": "object",
"required": [
"bankAccountId",
"date"
],
"properties": {
"date": {
"type": "string",
"description": "Deposit date (YYYY-MM-DD)"
},
"reference": {
"type": "string",
"description": "Deposit reference"
},
"cashAmount": {
"type": "number",
"description": "Cash amount"
},
"chequeAmount": {
"type": "number",
"description": "Cheque amount"
},
"bankAccountId": {
"type": "string",
"description": "Bank account ID"
}
}
}sage_delete_bank_depositDelete a bank deposit.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Bank deposit ID"
}
}
}sage_list_bank_transfersList bank transfers with pagination.
Args:
Returns: Paginated list of bank transfers.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"itemsPerPage": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Items per page"
}
}
}sage_get_bank_transferGet a bank transfer by ID.
Args:
Returns: The bank transfer with all details.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Bank transfer ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}sage_create_bank_transferCreate a new bank transfer between accounts.
Args:
Returns: The created bank transfer.
{
"type": "object",
"required": [
"fromBankAccountId",
"toBankAccountId",
"date",
"amount"
],
"properties": {
"date": {
"type": "string",
"description": "Transfer date (YYYY-MM-DD)"
},
"amount": {
"type": "number",
"description": "Transfer amount"
},
"reference": {
"type": "string",
"description": "Transfer reference"
},
"description": {
"type": "string",
"description": "Transfer description"
},
"toBankAccountId": {
"type": "string",
"description": "Destination bank account ID"
},
"fromBankAccountId": {
"type": "string",
"description": "Source bank account ID"
}
}
}sage_delete_bank_transferDelete a bank transfer.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Bank transfer ID"
}
}
}sage_list_contactsList contacts (customers and vendors) from Sage with pagination and search.
Returns a paginated list of contacts. Use the page number from the response to fetch the next page.
Args:
Returns: Paginated list of contacts with id, name, email, phone, reference.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"search": {
"type": "string",
"description": "Search query to filter contacts"
},
"itemsPerPage": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Items per page"
}
}
}sage_get_contactGet a single contact by ID.
Args:
Returns: The contact record with all available fields.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Contact ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}sage_create_contactCreate a new contact (customer or vendor) in Sage.
Args:
Returns: The created contact record.
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Contact name (required)"
},
"email": {
"type": "string",
"description": "Email address"
},
"notes": {
"type": "string",
"description": "Additional notes"
},
"mobile": {
"type": "string",
"description": "Mobile phone number"
},
"website": {
"type": "string",
"description": "Website URL"
},
"reference": {
"type": "string",
"description": "Reference code"
},
"taxNumber": {
"type": "string",
"description": "Tax/VAT number"
},
"telephone": {
"type": "string",
"description": "Phone number"
},
"creditDays": {
"type": "integer",
"description": "Credit days"
},
"creditLimit": {
"type": "number",
"description": "Credit limit"
},
"contactTypeIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Contact type IDs"
}
}
}sage_update_productUpdate an existing product.
Args:
Returns: The updated product.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Product ID"
},
"notes": {
"type": "string",
"description": "Additional notes"
},
"active": {
"type": "boolean",
"description": "Whether product is active"
},
"itemCode": {
"type": "string",
"description": "Product/SKU code"
},
"costPrice": {
"type": "number",
"description": "Cost price"
},
"description": {
"type": "string",
"description": "Product description"
},
"purchasePrice": {
"type": "number",
"description": "Purchase price"
}
}
}sage_update_contactUpdate an existing contact.
Args:
Returns: The updated contact record.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Contact ID to update"
},
"name": {
"type": "string",
"description": "Contact name"
},
"email": {
"type": "string",
"description": "Email address"
},
"notes": {
"type": "string",
"description": "Additional notes"
},
"mobile": {
"type": "string",
"description": "Mobile phone number"
},
"website": {
"type": "string",
"description": "Website URL"
},
"reference": {
"type": "string",
"description": "Reference code"
},
"taxNumber": {
"type": "string",
"description": "Tax/VAT number"
},
"telephone": {
"type": "string",
"description": "Phone number"
},
"creditDays": {
"type": "integer",
"description": "Credit days"
},
"creditLimit": {
"type": "number",
"description": "Credit limit"
}
}
}sage_delete_contactDelete a contact from Sage.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Contact ID to delete"
}
}
}sage_list_contact_typesList all available contact types (e.g., CUSTOMER, VENDOR).
Returns: List of contact types with id and name.
{
"type": "object",
"properties": {}
}sage_list_contact_paymentsList contact payments (customer receipts and vendor payments) with pagination and filtering.
Args:
Returns: Paginated list of contact payments.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"search": {
"type": "string",
"description": "Search query"
},
"contactId": {
"type": "string",
"description": "Filter by contact ID"
},
"itemsPerPage": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Items per page"
},
"bankAccountId": {
"type": "string",
"description": "Filter by bank account ID"
},
"transactionTypeId": {
"type": "string",
"description": "Filter by transaction type"
}
}
}sage_get_contact_paymentGet a contact payment by ID.
Args:
Returns: The contact payment with all details.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Contact payment ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}sage_create_contact_paymentCreate a new contact payment (customer receipt or vendor payment).
Args:
Returns: The created contact payment.
{
"type": "object",
"required": [
"transactionTypeId",
"contactId",
"bankAccountId",
"date",
"totalAmount"
],
"properties": {
"date": {
"type": "string",
"description": "Payment date (YYYY-MM-DD)"
},
"contactId": {
"type": "string",
"description": "Contact ID"
},
"reference": {
"type": "string",
"description": "Payment reference"
},
"totalAmount": {
"type": "number",
"description": "Total payment amount"
},
"bankAccountId": {
"type": "string",
"description": "Bank account ID"
},
"paymentMethodId": {
"type": "string",
"description": "Payment method ID"
},
"transactionTypeId": {
"type": "string",
"description": "Transaction type ID"
},
"allocatedArtefacts": {
"type": "array",
"items": {
"type": "string"
},
"description": "Allocated invoices/credit notes"
}
}
}sage_delete_contact_paymentDelete a contact payment.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Contact payment ID"
}
}
}sage_list_other_paymentsList other payments (ad-hoc payments and receipts) with pagination and filtering.
Args:
Returns: Paginated list of other payments.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"search": {
"type": "string",
"description": "Search query"
},
"itemsPerPage": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Items per page"
},
"bankAccountId": {
"type": "string",
"description": "Filter by bank account ID"
},
"transactionTypeId": {
"type": "string",
"description": "Filter by transaction type"
}
}
}sage_get_other_paymentGet an other payment by ID.
Args:
Returns: The other payment with all details.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Other payment ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}sage_delete_productDelete a product.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Product ID"
}
}
}sage_create_other_paymentCreate a new other payment (ad-hoc expense or income).
Args:
Returns: The created other payment.
{
"type": "object",
"required": [
"transactionTypeId",
"bankAccountId",
"date",
"paymentLines"
],
"properties": {
"date": {
"type": "string",
"description": "Payment date (YYYY-MM-DD)"
},
"contactId": {
"type": "string",
"description": "Contact ID"
},
"reference": {
"type": "string",
"description": "Payment reference"
},
"paymentLines": {
"type": "array",
"items": {
"type": "string"
},
"description": "Payment line items"
},
"bankAccountId": {
"type": "string",
"description": "Bank account ID"
},
"paymentMethodId": {
"type": "string",
"description": "Payment method ID"
},
"transactionTypeId": {
"type": "string",
"description": "Transaction type ID"
}
}
}sage_delete_other_paymentDelete an other payment.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Other payment ID"
}
}
}sage_list_contact_allocationsList contact allocations (payment allocations to invoices/credit notes).
Args:
Returns: Paginated list of contact allocations.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"contactId": {
"type": "string",
"description": "Filter by contact ID"
},
"itemsPerPage": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Items per page"
},
"transactionTypeId": {
"type": "string",
"description": "Filter by transaction type"
}
}
}sage_get_contact_allocationGet a contact allocation by ID.
Args:
Returns: The contact allocation with all details.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Contact allocation ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}sage_list_transaction_typesList all available transaction types.
Returns: List of transaction types (e.g., CUSTOMER_RECEIPT, VENDOR_PAYMENT, SALES_INVOICE, etc.).
{
"type": "object",
"properties": {}
}sage_create_contact_allocationCreate a new contact allocation to match payments with invoices/credit notes.
Args:
Returns: The created contact allocation.
{
"type": "object",
"required": [
"contactId",
"transactionTypeId",
"date",
"allocatedArtefacts"
],
"properties": {
"date": {
"type": "string",
"description": "Allocation date (YYYY-MM-DD)"
},
"contactId": {
"type": "string",
"description": "Contact ID"
},
"reference": {
"type": "string",
"description": "Allocation reference"
},
"transactionTypeId": {
"type": "string",
"description": "Transaction type ID"
},
"allocatedArtefacts": {
"type": "array",
"items": {
"type": "string"
},
"description": "Items to allocate"
}
}
}sage_delete_contact_allocationDelete a contact allocation.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Contact allocation ID"
}
}
}sage_list_productsList products with pagination and search.
Args:
Returns: Paginated list of products.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"search": {
"type": "string",
"description": "Search query"
},
"itemsPerPage": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Items per page"
}
}
}sage_get_productGet a product by ID.
Args:
Returns: The product with all details.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Product ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}sage_create_productCreate a new product.
Args:
Returns: The created product.
{
"type": "object",
"required": [
"description"
],
"properties": {
"notes": {
"type": "string",
"description": "Additional notes"
},
"active": {
"type": "boolean",
"description": "Whether product is active"
},
"itemCode": {
"type": "string",
"description": "Product/SKU code"
},
"costPrice": {
"type": "number",
"description": "Cost price"
},
"description": {
"type": "string",
"description": "Product description"
},
"purchasePrice": {
"type": "number",
"description": "Purchase price"
},
"salesTaxRateId": {
"type": "string",
"description": "Sales tax rate ID"
},
"purchaseTaxRateId": {
"type": "string",
"description": "Purchase tax rate ID"
},
"salesLedgerAccountId": {
"type": "string",
"description": "Sales ledger account ID"
},
"purchaseLedgerAccountId": {
"type": "string",
"description": "Purchase ledger account ID"
}
}
}sage_list_servicesList services with pagination and search.
Args:
Returns: Paginated list of services.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"search": {
"type": "string",
"description": "Search query"
},
"itemsPerPage": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Items per page"
}
}
}sage_get_serviceGet a service by ID.
Args:
Returns: The service with all details.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Service ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}sage_create_serviceCreate a new service.
Args:
Returns: The created service.
{
"type": "object",
"required": [
"description"
],
"properties": {
"notes": {
"type": "string",
"description": "Additional notes"
},
"active": {
"type": "boolean",
"description": "Whether service is active"
},
"itemCode": {
"type": "string",
"description": "Service code"
},
"costPrice": {
"type": "number",
"description": "Cost price"
},
"description": {
"type": "string",
"description": "Service description"
},
"purchasePrice": {
"type": "number",
"description": "Purchase price"
},
"salesTaxRateId": {
"type": "string",
"description": "Sales tax rate ID"
},
"purchaseTaxRateId": {
"type": "string",
"description": "Purchase tax rate ID"
},
"salesLedgerAccountId": {
"type": "string",
"description": "Sales ledger account ID"
},
"purchaseLedgerAccountId": {
"type": "string",
"description": "Purchase ledger account ID"
}
}
}sage_update_serviceUpdate an existing service.
Args:
Returns: The updated service.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Service ID"
},
"notes": {
"type": "string",
"description": "Additional notes"
},
"active": {
"type": "boolean",
"description": "Whether service is active"
},
"itemCode": {
"type": "string",
"description": "Service code"
},
"costPrice": {
"type": "number",
"description": "Cost price"
},
"description": {
"type": "string",
"description": "Service description"
},
"purchasePrice": {
"type": "number",
"description": "Purchase price"
}
}
}sage_delete_serviceDelete a service.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Service ID"
}
}
}sage_list_stock_itemsList stock items with pagination and search.
Args:
Returns: Paginated list of stock items with quantity information.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"search": {
"type": "string",
"description": "Search query"
},
"itemsPerPage": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Items per page"
}
}
}sage_get_stock_itemGet a stock item by ID.
Args:
Returns: The stock item with all details including quantity in stock.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Stock item ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}sage_create_purchase_invoiceCreate a new purchase invoice (bill from vendor).
Args:
Returns: The created purchase invoice.
{
"type": "object",
"required": [
"contactId",
"date",
"invoiceLines"
],
"properties": {
"date": {
"type": "string",
"description": "Invoice date (YYYY-MM-DD)"
},
"notes": {
"type": "string",
"description": "Invoice notes"
},
"dueDate": {
"type": "string",
"description": "Due date (YYYY-MM-DD)"
},
"contactId": {
"type": "string",
"description": "Vendor contact ID"
},
"reference": {
"type": "string",
"description": "Your reference"
},
"currencyId": {
"type": "string",
"description": "Currency ID"
},
"exchangeRate": {
"type": "number",
"description": "Exchange rate"
},
"invoiceLines": {
"type": "array",
"items": {
"type": "string"
},
"description": "Invoice line items"
},
"vendorReference": {
"type": "string",
"description": "Vendor invoice reference"
}
}
}sage_delete_purchase_invoiceDelete a purchase invoice.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Purchase invoice ID"
}
}
}sage_create_stock_itemCreate a new stock item.
Args:
Returns: The created stock item.
{
"type": "object",
"required": [
"description"
],
"properties": {
"notes": {
"type": "string",
"description": "Additional notes"
},
"active": {
"type": "boolean",
"description": "Whether item is active"
},
"weight": {
"type": "number",
"description": "Item weight"
},
"barcode": {
"type": "string",
"description": "Barcode"
},
"itemCode": {
"type": "string",
"description": "Item/SKU code"
},
"location": {
"type": "string",
"description": "Stock location"
},
"costPrice": {
"type": "number",
"description": "Cost price"
},
"description": {
"type": "string",
"description": "Stock item description"
},
"reorderLevel": {
"type": "number",
"description": "Reorder level"
},
"purchasePrice": {
"type": "number",
"description": "Purchase price"
},
"salesTaxRateId": {
"type": "string",
"description": "Sales tax rate ID"
},
"reorderQuantity": {
"type": "number",
"description": "Reorder quantity"
},
"purchaseTaxRateId": {
"type": "string",
"description": "Purchase tax rate ID"
},
"salesLedgerAccountId": {
"type": "string",
"description": "Sales ledger account ID"
},
"purchaseLedgerAccountId": {
"type": "string",
"description": "Purchase ledger account ID"
}
}
}sage_update_stock_itemUpdate an existing stock item.
Args:
Returns: The updated stock item.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Stock item ID"
},
"active": {
"type": "boolean",
"description": "Whether item is active"
},
"barcode": {
"type": "string",
"description": "Barcode"
},
"itemCode": {
"type": "string",
"description": "Item/SKU code"
},
"location": {
"type": "string",
"description": "Stock location"
},
"costPrice": {
"type": "number",
"description": "Cost price"
},
"description": {
"type": "string",
"description": "Stock item description"
},
"reorderLevel": {
"type": "number",
"description": "Reorder level"
},
"purchasePrice": {
"type": "number",
"description": "Purchase price"
},
"reorderQuantity": {
"type": "number",
"description": "Reorder quantity"
}
}
}sage_delete_stock_itemDelete a stock item.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Stock item ID"
}
}
}sage_list_stock_movementsList stock movements with pagination and filtering.
Args:
Returns: Paginated list of stock movements.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"stockItemId": {
"type": "string",
"description": "Filter by stock item ID"
},
"itemsPerPage": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Items per page"
}
}
}sage_get_stock_movementGet a stock movement by ID.
Args:
Returns: The stock movement with all details.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Stock movement ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}sage_create_stock_movementCreate a new stock movement (adjustment).
Args:
Returns: The created stock movement.
{
"type": "object",
"required": [
"stockItemId",
"date",
"quantity",
"movementTypeId"
],
"properties": {
"date": {
"type": "string",
"description": "Movement date (YYYY-MM-DD)"
},
"details": {
"type": "string",
"description": "Additional details"
},
"quantity": {
"type": "number",
"description": "Quantity adjustment"
},
"costPrice": {
"type": "number",
"description": "Cost price per unit"
},
"reference": {
"type": "string",
"description": "Movement reference"
},
"stockItemId": {
"type": "string",
"description": "Stock item ID"
},
"movementTypeId": {
"type": "string",
"description": "Movement type ID"
}
}
}sage_list_purchase_invoicesList purchase invoices (bills) with pagination and filtering.
Args:
Returns: Paginated list of purchase invoices.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"search": {
"type": "string",
"description": "Search query"
},
"status": {
"type": "string",
"description": "Filter by status"
},
"contactId": {
"type": "string",
"description": "Filter by vendor contact ID"
},
"itemsPerPage": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Items per page"
}
}
}sage_get_purchase_invoiceGet a purchase invoice by ID.
Args:
Returns: The purchase invoice with all details including line items.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Purchase invoice ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}sage_list_purchase_credit_notesList purchase credit notes with pagination and filtering.
Args:
Returns: Paginated list of purchase credit notes.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"search": {
"type": "string",
"description": "Search query"
},
"status": {
"type": "string",
"description": "Filter by status"
},
"contactId": {
"type": "string",
"description": "Filter by vendor contact ID"
},
"itemsPerPage": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Items per page"
}
}
}sage_get_purchase_credit_noteGet a purchase credit note by ID.
Args:
Returns: The purchase credit note with all details.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Purchase credit note ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}sage_create_purchase_credit_noteCreate a new purchase credit note.
Args:
Returns: The created purchase credit note.
{
"type": "object",
"required": [
"contactId",
"date",
"creditNoteLines"
],
"properties": {
"date": {
"type": "string",
"description": "Credit note date (YYYY-MM-DD)"
},
"notes": {
"type": "string",
"description": "Credit note notes"
},
"contactId": {
"type": "string",
"description": "Vendor contact ID"
},
"reference": {
"type": "string",
"description": "Your reference"
},
"creditNoteLines": {
"type": "array",
"items": {
"type": "string"
},
"description": "Credit note line items"
},
"vendorReference": {
"type": "string",
"description": "Vendor credit note reference"
},
"originalInvoiceId": {
"type": "string",
"description": "Original purchase invoice ID"
}
}
}sage_delete_purchase_credit_noteDelete a purchase credit note.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Purchase credit note ID"
}
}
}sage_list_purchase_quick_entriesList purchase quick entries with pagination and filtering.
Args:
Returns: Paginated list of purchase quick entries.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"search": {
"type": "string",
"description": "Search query"
},
"contactId": {
"type": "string",
"description": "Filter by vendor contact ID"
},
"itemsPerPage": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Items per page"
}
}
}sage_get_purchase_quick_entryGet a purchase quick entry by ID.
Args:
Returns: The purchase quick entry with all details.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Purchase quick entry ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}sage_create_purchase_quick_entryCreate a new purchase quick entry for fast bill/credit note creation.
Args:
Returns: The created purchase quick entry.
{
"type": "object",
"required": [
"contactId",
"date",
"quickEntryTypeId",
"ledgerAccountId",
"netAmount"
],
"properties": {
"date": {
"type": "string",
"description": "Entry date (YYYY-MM-DD)"
},
"details": {
"type": "string",
"description": "Additional details"
},
"dueDate": {
"type": "string",
"description": "Due date (YYYY-MM-DD)"
},
"contactId": {
"type": "string",
"description": "Vendor contact ID"
},
"netAmount": {
"type": "number",
"description": "Net amount"
},
"reference": {
"type": "string",
"description": "Reference"
},
"taxRateId": {
"type": "string",
"description": "Tax rate ID"
},
"ledgerAccountId": {
"type": "string",
"description": "Ledger account ID"
},
"quickEntryTypeId": {
"type": "string",
"description": "Quick entry type ID"
}
}
}sage_delete_purchase_quick_entryDelete a purchase quick entry.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Purchase quick entry ID"
}
}
}sage_list_sales_invoicesList sales invoices with pagination and filtering.
Args:
Returns: Paginated list of sales invoices.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"search": {
"type": "string",
"description": "Search query"
},
"status": {
"type": "string",
"description": "Filter by status"
},
"contactId": {
"type": "string",
"description": "Filter by contact ID"
},
"itemsPerPage": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Items per page"
}
}
}sage_get_sales_invoiceGet a sales invoice by ID.
Args:
Returns: The sales invoice with all details including line items.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Sales invoice ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}sage_create_sales_invoiceCreate a new sales invoice.
Args:
Returns: The created sales invoice.
{
"type": "object",
"required": [
"contactId",
"date",
"invoiceLines"
],
"properties": {
"date": {
"type": "string",
"description": "Invoice date (YYYY-MM-DD)"
},
"notes": {
"type": "string",
"description": "Invoice notes"
},
"dueDate": {
"type": "string",
"description": "Due date (YYYY-MM-DD)"
},
"contactId": {
"type": "string",
"description": "Customer contact ID"
},
"reference": {
"type": "string",
"description": "Invoice reference"
},
"currencyId": {
"type": "string",
"description": "Currency ID"
},
"exchangeRate": {
"type": "number",
"description": "Exchange rate"
},
"invoiceLines": {
"type": "array",
"items": {
"type": "string"
},
"description": "Invoice line items"
},
"termsAndConditions": {
"type": "string",
"description": "Terms and conditions"
}
}
}sage_delete_sales_invoiceDelete a sales invoice.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Sales invoice ID"
}
}
}sage_list_sales_quotesList sales quotes with pagination and filtering.
Args:
Returns: Paginated list of sales quotes.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"search": {
"type": "string",
"description": "Search query"
},
"status": {
"type": "string",
"description": "Filter by status"
},
"contactId": {
"type": "string",
"description": "Filter by contact ID"
},
"itemsPerPage": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Items per page"
}
}
}sage_get_sales_quoteGet a sales quote by ID.
Args:
Returns: The sales quote with all details.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Sales quote ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}sage_create_sales_quoteCreate a new sales quote.
Args:
Returns: The created sales quote.
{
"type": "object",
"required": [
"contactId",
"date",
"quoteLines"
],
"properties": {
"date": {
"type": "string",
"description": "Quote date (YYYY-MM-DD)"
},
"notes": {
"type": "string",
"description": "Quote notes"
},
"contactId": {
"type": "string",
"description": "Customer contact ID"
},
"reference": {
"type": "string",
"description": "Quote reference"
},
"expiryDate": {
"type": "string",
"description": "Expiry date (YYYY-MM-DD)"
},
"quoteLines": {
"type": "array",
"items": {
"type": "string"
},
"description": "Quote line items"
},
"termsAndConditions": {
"type": "string",
"description": "Terms and conditions"
}
}
}sage_delete_sales_quoteDelete a sales quote.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Sales quote ID"
}
}
}sage_list_sales_estimatesList sales estimates with pagination and filtering.
Args:
Returns: Paginated list of sales estimates.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"search": {
"type": "string",
"description": "Search query"
},
"status": {
"type": "string",
"description": "Filter by status"
},
"contactId": {
"type": "string",
"description": "Filter by contact ID"
},
"itemsPerPage": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Items per page"
}
}
}sage_get_sales_estimateGet a sales estimate by ID.
Args:
Returns: The sales estimate with all details.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Sales estimate ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}sage_create_sales_estimateCreate a new sales estimate.
Args:
Returns: The created sales estimate.
{
"type": "object",
"required": [
"contactId",
"date",
"estimateLines"
],
"properties": {
"date": {
"type": "string",
"description": "Estimate date (YYYY-MM-DD)"
},
"notes": {
"type": "string",
"description": "Estimate notes"
},
"contactId": {
"type": "string",
"description": "Customer contact ID"
},
"reference": {
"type": "string",
"description": "Estimate reference"
},
"expiryDate": {
"type": "string",
"description": "Expiry date (YYYY-MM-DD)"
},
"estimateLines": {
"type": "array",
"items": {
"type": "string"
},
"description": "Estimate line items"
},
"termsAndConditions": {
"type": "string",
"description": "Terms and conditions"
}
}
}sage_delete_sales_estimateDelete a sales estimate.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Sales estimate ID"
}
}
}sage_list_sales_credit_notesList sales credit notes with pagination and filtering.
Args:
Returns: Paginated list of sales credit notes.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"search": {
"type": "string",
"description": "Search query"
},
"status": {
"type": "string",
"description": "Filter by status"
},
"contactId": {
"type": "string",
"description": "Filter by contact ID"
},
"itemsPerPage": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Items per page"
}
}
}sage_get_sales_credit_noteGet a sales credit note by ID.
Args:
Returns: The sales credit note with all details.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Sales credit note ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}sage_create_sales_credit_noteCreate a new sales credit note.
Args:
Returns: The created sales credit note.
{
"type": "object",
"required": [
"contactId",
"date",
"creditNoteLines"
],
"properties": {
"date": {
"type": "string",
"description": "Credit note date (YYYY-MM-DD)"
},
"notes": {
"type": "string",
"description": "Credit note notes"
},
"contactId": {
"type": "string",
"description": "Customer contact ID"
},
"reference": {
"type": "string",
"description": "Credit note reference"
},
"creditNoteLines": {
"type": "array",
"items": {
"type": "string"
},
"description": "Credit note line items"
},
"originalInvoiceId": {
"type": "string",
"description": "Original invoice ID"
}
}
}sage_delete_sales_credit_noteDelete a sales credit note.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Sales credit note ID"
}
}
}sage_list_sales_quick_entriesList sales quick entries with pagination and filtering.
Args:
Returns: Paginated list of sales quick entries.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"search": {
"type": "string",
"description": "Search query"
},
"contactId": {
"type": "string",
"description": "Filter by contact ID"
},
"itemsPerPage": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Items per page"
}
}
}sage_get_sales_quick_entryGet a sales quick entry by ID.
Args:
Returns: The sales quick entry with all details.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Sales quick entry ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}sage_create_sales_quick_entryCreate a new sales quick entry for fast invoice/credit note creation.
Args:
Returns: The created sales quick entry.
{
"type": "object",
"required": [
"contactId",
"date",
"quickEntryTypeId",
"ledgerAccountId",
"netAmount"
],
"properties": {
"date": {
"type": "string",
"description": "Entry date (YYYY-MM-DD)"
},
"details": {
"type": "string",
"description": "Additional details"
},
"dueDate": {
"type": "string",
"description": "Due date (YYYY-MM-DD)"
},
"contactId": {
"type": "string",
"description": "Customer contact ID"
},
"netAmount": {
"type": "number",
"description": "Net amount"
},
"reference": {
"type": "string",
"description": "Reference"
},
"taxRateId": {
"type": "string",
"description": "Tax rate ID"
},
"ledgerAccountId": {
"type": "string",
"description": "Ledger account ID"
},
"quickEntryTypeId": {
"type": "string",
"description": "Quick entry type ID"
}
}
}sage_list_attachmentsList attachments with filtering.
Args:
Returns: Paginated list of attachments.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"itemsPerPage": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Items per page"
},
"attachmentContextId": {
"type": "string",
"description": "Filter by context ID"
},
"attachmentContextTypeId": {
"type": "string",
"description": "Filter by context type"
}
}
}sage_get_attachmentGet an attachment by ID.
Args:
Returns: The attachment metadata.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Attachment ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}sage_create_attachmentCreate a new attachment for a transaction.
Args:
Returns: The created attachment.
{
"type": "object",
"required": [
"attachmentContextId",
"attachmentContextTypeId",
"file",
"fileName",
"mimeType"
],
"properties": {
"file": {
"type": "string",
"description": "Base64 encoded file content"
},
"fileName": {
"type": "string",
"description": "File name"
},
"mimeType": {
"type": "string",
"description": "MIME type"
},
"description": {
"type": "string",
"description": "File description"
},
"attachmentContextId": {
"type": "string",
"description": "Context ID (e.g., invoice ID)"
},
"attachmentContextTypeId": {
"type": "string",
"description": "Context type ID"
}
}
}sage_delete_attachmentDelete an attachment.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Attachment ID"
}
}
}sage_list_attachment_context_typesList all available attachment context types.
Returns: List of attachment context types (e.g., SALES_INVOICE, PURCHASE_INVOICE, CONTACT, etc.).
{
"type": "object",
"properties": {}
}