### Local Development Setup for MkDocs Site Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/README.md Commands to install dependencies and serve the MkDocs site locally. The site will be available at http://127.0.0.1:8000. ```bash pip install -r requirements.txt mkdocs serve ``` -------------------------------- ### Install Context7 MCP Server for Antigravity IDE Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/README.md Set up the Context7 MCP server specifically for the Antigravity IDE. ```bash npx ctx7 setup --antigravity ``` -------------------------------- ### Install Context7 MCP Server Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/README.md Use this command to automatically set up the Context7 MCP server. It detects your environment and configures the necessary settings. ```bash npx ctx7 setup ``` -------------------------------- ### Install Context7 MCP Server for Codex CLI Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/README.md Set up the Context7 MCP server specifically for the Codex CLI. ```bash npx ctx7 setup --codex ``` -------------------------------- ### Install Context7 MCP Server for Opencode CLI Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/README.md Set up the Context7 MCP server specifically for the Opencode CLI. ```bash npx ctx7 setup --opencode ``` -------------------------------- ### Install Context7 MCP Server for Cursor IDE Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/README.md Set up the Context7 MCP server specifically for the Cursor IDE. ```bash npx ctx7 setup --cursor ``` -------------------------------- ### Let Context7 Resolve Library for Query Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/README.md Example of letting Context7 resolve the library automatically by mentioning 'Etendo Go' and adding 'use context7'. ```text Explain bank reconciliation in Etendo Go. use context7 ``` -------------------------------- ### Get Currency Selector Options Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/finance/treasury.md This snippet demonstrates how to query for available currency options, specifically for EUR in this example. Use the returned ID to populate the 'currency' field when creating a new account. ```json { "tool": "etendo_neo_selectors", "arguments": { "spec": "financial-account", "entity": "account", "column": "currency", "query": "EUR" } } ``` -------------------------------- ### Install Context7 MCP Server for Claude Code Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/README.md Set up the Context7 MCP server specifically for the Claude Code client. ```bash npx ctx7 setup --claude ``` -------------------------------- ### Pin Library Explicitly for Context7 Query Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/README.md Example of how to explicitly pin a library when querying Etendo Go docs via Context7. ```text How do I configure the MCP treasury tools in Etendo Go? use library /etendosoftware/etendo-go-docs ``` -------------------------------- ### Discover Etendo Go Specs Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/mcp/index.md As a secondary check, invoke the 'etendo_neo_discover' command. A successful execution should return a 'specs' array, confirming server reachability and proper setup. ```bash etendo_neo_discover ``` -------------------------------- ### Get Financial Account by ID Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/finance/treasury.md Retrieve details for a specific financial account using its unique identifier. Ensure you replace `` with the actual ID of the account you wish to fetch. ```json { "tool": "etendo_neo_get", "arguments": { "spec": "financial-account", "entity": "account", "id": "" } } ``` -------------------------------- ### Get Financial Account by ID Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/finance/treasury.md Retrieves the details of a specific financial account using its unique identifier. ```APIDOC ## Get Financial Account by ID ### Description Retrieves the details of a specific financial account identified by its unique ID. ### Tool etendo_neo_get ### Arguments - **spec** (string) - Required - The specification name, 'financial-account'. - **entity** (string) - Required - The entity name, 'account'. - **id** (string) - Required - The unique identifier of the financial account. ### Request Example ```json { "tool": "etendo_neo_get", "arguments": { "spec": "financial-account", "entity": "account", "id": "" } } ``` ``` -------------------------------- ### Verify Connection and Discover Specs Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/agent-manual.md Checks the system connection and discovers available specifications. Ensure 'sales-order' is in the 'specs' array. ```shell resource: etendo://status ``` -------------------------------- ### Import Bank File Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/finance/bank-reconciliation.md Initiate the bank file import process using etendo_neo_action with the 'EM_APRM_ImportBankFile' action. The input parameters for this action must be discovered at runtime by calling with empty parameters and inspecting the validation message. ```json { "tool": "etendo_neo_action", "arguments": { "spec": "financial-account", "entity": "account", "id": "", "action": "EM_APRM_ImportBankFile", "parameters": {} } } ``` -------------------------------- ### Create Customer Receipt Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/finance/treasury.md This section outlines the steps to create a new customer receipt. It involves resolving foreign key fields using selector tools and then creating the receipt with the necessary details. ```APIDOC ## Create Customer Receipt ### Description This endpoint allows for the creation of a new customer receipt. It requires resolving several foreign key fields first using specific selector tools, followed by a create call with the receipt's details. ### Method POST (Implicit via `etendo_neo_create` tool) ### Endpoint `/finPayment` (Implicit) ### Parameters #### Fields for `etendo_neo_create`: - **businessPartner** (foreignKey) - Required - The ID of the business partner. - **currency** (foreignKey) - Required - The ID of the currency. - **account** (foreignKey) - Required - The ID of the financial account. - **paymentMethod** (foreignKey) - Required - The ID of the payment method. - **documentType** (foreignKey) - Required - The ID of the document type. - **amount** (number) - Required - The amount of the receipt. - **paymentDate** (string) - Required - The date of the payment (YYYY-MM-DD). - **description** (string) - Optional - A description for the receipt. ### Request Example (Resolving FKs): ```json { "tool": "etendo_neo_selectors", "arguments": { "spec": "payment-in", "entity": "finPayment", "column": "businessPartner", "query": "Acme" } } ``` ### Request Example (Creating Receipt): ```json { "tool": "etendo_neo_create", "arguments": { "spec": "payment-in", "entity": "finPayment", "fields": { "businessPartner": "", "currency": "", "account": "", "paymentMethod": "", "documentType": "", "amount": 500.00, "paymentDate": "2026-06-18", "description": "Receipt for invoice INV-001" } } } ``` ``` -------------------------------- ### MCP Server Architecture Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/mcp/index.md Illustrates the flow of information from an AI Agent through the MCP server to the Etendo Go NEO Headless API. ```text AI Agent ──MCP protocol──> Etendo Go MCP Server ──REST──> Etendo Go NEO Headless API ``` -------------------------------- ### Verify Bank File Import Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/finance/bank-reconciliation.md After importing a bank file, use etendo_neo_list to verify the creation of 'FIN_BankStatement' and its associated lines. Filter by account ID to retrieve the latest statements. ```json { "tool": "etendo_neo_list", "arguments": { "spec": "financial-account", "entity": "importedBankStatements", "filters": { "account": "" }, "orderBy": "-importdate", "limit": 5 } } ``` -------------------------------- ### Create Financial Account Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/finance/treasury.md Creates a new financial account with specified fields such as name, currency, and type. ```APIDOC ## Create Financial Account ### Description Creates a new financial account. Requires essential fields like name, currency, and type. Optional fields can also be provided. ### Tool etendo_neo_create ### Arguments - **spec** (string) - Required - The specification name, 'financial-account'. - **entity** (string) - Required - The entity name, 'account'. - **fields** (object) - Required - An object containing the fields for the new account. Required fields include `name`, `currency`, and `type`. Optional fields like `iBAN`, `default`, etc., can also be included. - **name** (string) - Required - Display name for the account. - **currency** (string) - Required - The ID of the currency for the account. Resolve via selector. - **type** (string) - Required - The type of account (e.g., 'Bank'). Resolve allowed list values from schema. - **currentBalance** (number) - Optional - The current balance of the account. Defaults to 0. - **creditLimit** (number) - Optional - The credit limit for the account. Defaults to 0. - **default** (boolean) - Optional - Whether this is the default account. Defaults to false. - **initialBalance** (number) - Optional - The initial balance of the account. Defaults to 0. - **aprmIsfundstransEnabled** (boolean) - Optional - Flag for funds transfer enablement. Defaults to true. - **description** (string) - Optional - A description for the account. - **businessPartner** (string) - Optional - Associated business partner ID. - **locationAddress** (string) - Optional - Associated location address ID. - **iBAN** (string) - Optional - The IBAN of the account. - **swiftCode** (string) - Optional - The SWIFT code of the bank. - **accountNo** (string) - Optional - The bank account number. - **bankCode** (string) - Optional - The bank code. - **branchCode** (string) - Optional - The bank branch code. - **country** (string) - Optional - The country code. - **matchingAlgorithm** (string) - Optional - The matching algorithm to use. - **bankFormat** (string) - Optional - The bank format. ### Request Example ```json { "tool": "etendo_neo_create", "arguments": { "spec": "financial-account", "entity": "account", "fields": { "name": "Main EUR Bank", "currency": "", "type": "", "iBAN": "ES0000000000000000000000", "default": false } } } ``` ``` -------------------------------- ### Claude Desktop MCP Server Configuration Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/mcp/index.md Add this JSON configuration to your Claude Desktop config file to connect to an Etendo Go instance. Ensure you replace placeholder credentials with your actual API username and password. ```json { "mcpServers": { "etendo": { "command": "npx", "args": ["-y", "@etendosoftware/mcp-etendo-go"], "env": { "ETENDO_BASE_URL": "https://go.etendo.cloud", "ETENDO_USERNAME": "", "ETENDO_PASSWORD": "" } } } } ``` -------------------------------- ### Discover Available Entities Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/mcp/index.md Use `etendo_neo_discover` to find available specifications like 'sales-order', 'product', and 'contacts'. This is the first step to understand what data can be manipulated. ```json { "tool": "etendo_neo_discover", "arguments": {} } ``` -------------------------------- ### Auto-create Payment Schedule Details Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/finance/treasury.md Use the etendo_neo_action tool to trigger the 'Add Payment' process, which automatically creates schedule details linking the receipt to invoices or orders. ```json { "tool": "etendo_neo_action", "arguments": { "spec": "payment-in", "entity": "finPayment", "id": "", "action": "EM_Aprm_Add_Scheduledpayments", "parameters": {} } } ``` -------------------------------- ### Atomically Create Sales Order with Lines using etendo_neo_batch Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/mcp/index.md This snippet demonstrates how to create a sales order header and its lines in a single atomic transaction using etendo_neo_batch. It chains operations using parentRef and $ref. ```json { "tool": "etendo_neo_batch", "arguments": { "operations": [ { "id": "h1", "spec": "sales-order", "entity": "header", "body": { "businessPartner": "", "partnerAddress": "", "invoiceAddress": "", "priceList": "", "paymentTerms": "", "warehouse": "", "currency": "", "transactionDocument": "", "orderDate": "2026-06-18", "scheduledDeliveryDate": "2026-06-20", "accountingDate": "2026-06-18" } }, { "id": "l1", "spec": "sales-order", "entity": "lines", "parentRef": "h1", "body": { "product": "", "orderedQuantity": 5, "unitPrice": 12.50, "tax": "" } } ] } } ``` -------------------------------- ### Report Tools Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/mcp/index.md Renders pre-built Etendo Go reports in various formats. Each report tool accepts an optional `format` argument. ```APIDOC ## Report Tools ### Description Report tools render a pre-built Etendo Go report and return it in the requested format. Each report owns the parameter shape it expects under the `parameters` argument; call the report with an empty `parameters` object first to discover the required keys via the server's validation message. ### Available Report Tools | Tool | Report | |------------------------------------------|----------------------------------------------| | `etendo_generate_aging_receivable` | Aging of Receivables | | `etendo_generate_bank_statements` | Bank statement list, import (C43), and lines view for a financial account | | `etendo_generate_financial_account_transactions` | Transactions list for a single financial account | | `etendo_generate_financial_accounts_page`| Financial Accounts Page | | `etendo_generate_inventory_stock_report` | Inventory Stock Report | | `etendo_generate_tax_report` | Tax Report | ### Arguments #### Optional arguments - **format** (string) - The desired output format (`pdf`, `xlsx`, `csv`; defaults to `pdf`). - **parameters** (object) - The parameters specific to the report being generated. Call the report with an empty object to discover required parameters. ``` -------------------------------- ### Create Customer Receipt Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/finance/treasury.md Use the etendo_neo_create tool to create a new customer receipt with specified fields. Ensure all required foreign keys are resolved beforehand. ```json { "tool": "etendo_neo_create", "arguments": { "spec": "payment-in", "entity": "finPayment", "fields": { "businessPartner": "", "currency": "", "account": "", "paymentMethod": "", "documentType": "", "amount": 500.00, "paymentDate": "2026-06-18", "description": "Receipt for invoice INV-001" } } } ``` -------------------------------- ### Inspect Default Values Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/mcp/index.md Use `etendo_neo_defaults` to preview fields that will be automatically filled by the server during record creation. This step is optional as `etendo_neo_create` handles defaults automatically. ```json { "tool": "etendo_neo_defaults", "arguments": { "spec": "sales-order", "entity": "header" } } ``` -------------------------------- ### Create a New Bank Account Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/finance/treasury.md Use this to create a new financial account, such as a bank account. Required fields include 'name', 'currency', and 'type'. Ensure you resolve the correct IDs for 'currency' and 'type' from the schema or selector tools. ```json { "tool": "etendo_neo_create", "arguments": { "spec": "financial-account", "entity": "account", "fields": { "name": "Main EUR Bank", "currency": "", "type": "", "iBAN": "ES0000000000000000000000", "default": false } } } ``` -------------------------------- ### Create Sales Order Header Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/mcp/index.md Use `etendo_neo_create` to create the sales order header, providing only the confirmed and resolved fields. The response includes the server-assigned `id` and `documentNo`. ```json { "tool": "etendo_neo_create", "arguments": { "spec": "sales-order", "entity": "header", "fields": { "businessPartner": "", "partnerAddress": "", "invoiceAddress": "", "priceList": "", "paymentTerms": "", "warehouse": "", "currency": "", "transactionDocument": "", "orderDate": "2026-06-18", "scheduledDeliveryDate": "2026-06-20", "accountingDate": "2026-06-18" } } } ``` -------------------------------- ### Create Payment-Out Header with etendo_neo_batch Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/finance/treasury.md Use etendo_neo_batch to create a payment-out header in a single transaction. Ensure all required fields like businessPartner, currency, account, paymentMethod, documentType, amount, and paymentDate are provided. ```json { "tool": "etendo_neo_batch", "arguments": { "operations": [ { "id": "h1", "spec": "payment-out", "entity": "header", "body": { "businessPartner": "", "currency": "", "account": "", "paymentMethod": "", "documentType": "", "amount": 1000.00, "paymentDate": "2026-06-18" } } ] } } ``` -------------------------------- ### Resolve Product Selector for Sales Order Line Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/agent-manual.md Resolves the 'product' foreign key for a sales order line by querying for a product named 'Widget'. ```json { "tool": "etendo_neo_selectors", "arguments": { "spec": "sales-order", "entity": "lines", "column": "product", "query": "Widget" } } ``` -------------------------------- ### Create Sales Order Line Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/agent-manual.md Creates a new sales order line, linking it to the previously created header and specifying product, quantity, unit price, and tax. ```json { "tool": "etendo_neo_create", "arguments": { "spec": "sales-order", "entity": "lines", "fields": { "salesOrder": "", "product": "", "orderedQuantity": 5, "unitPrice": 12.50, "tax": "" } } } ``` -------------------------------- ### Create Manual Financial Transaction Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/finance/treasury.md Use this JSON payload with the `etendo_neo_create` tool to create a new manual financial transaction. Ensure you provide valid IDs for the account and currency, along with the necessary financial amounts and dates. ```json { "tool": "etendo_neo_create", "arguments": { "spec": "financial-account", "entity": "transaction", "fields": { "account": "", "currency": "", "depositAmount": 150.00, "paymentAmount": 0, "transactionDate": "2026-06-18", "dateAcct": "2026-06-18", "description": "Manual deposit" } } } ``` -------------------------------- ### Discover Sales Order Specs Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/agent-manual.md Discovers the specifications for the 'sales-order' resource. This is a prerequisite for understanding the schema. ```json { "tool": "etendo_neo_discover", "arguments": {} } ``` -------------------------------- ### Atomic Sales Order Creation with Batch Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/agent-manual.md Atomically creates sales order header and lines using 'etendo_neo_batch' for transactional integrity. Supports referencing operations within the batch. ```json When the agent needs the header and lines to commit or roll back together, replace steps 4 and 5 with a single `etendo_neo_batch` call. Use `parentRef: ""` to set the line's parent FK, and `$ref:` substitution inside `body` if a value must be resolved from an earlier op. A confirmation `etendo_neo_action` still runs after the batch commits. ``` -------------------------------- ### etendo_neo_discover Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/mcp/index.md Lists all spec and entity pairs that the current user can access. This is useful for dynamically discovering available API resources without hardcoding. ```APIDOC ## etendo_neo_discover ### Description List every spec and entity the current user can access. ### Tool etendo_neo_discover ### Arguments #### Required arguments — #### Optional arguments — ``` -------------------------------- ### End-to-End Bank Reconciliation Process Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/finance/bank-reconciliation.md This JSON snippet outlines a compact, end-to-end process for bank reconciliation using Etendo Neo tools. It includes steps for listing accounts, importing bank files, processing statements, matching transactions, and reconciling accounts. ```json [{"tool": "etendo_neo_list", "arguments": { "spec": "financial-account", "entity": "account", "filters": { "default": true }, "limit": 1 } }, {"tool": "etendo_neo_action", "arguments": { "spec": "financial-account", "entity": "account", "id": "", "action": "EM_APRM_ImportBankFile", "parameters": { "/* resolved from validation message */": "" } } }, {"tool": "etendo_neo_list", "arguments": { "spec": "financial-account", "entity": "importedBankStatements", "filters": { "account": "" }, "orderBy": "-importdate", "limit": 1 } }, {"tool": "etendo_neo_action", "arguments": { "spec": "financial-account", "entity": "importedBankStatements", "id": "", "action": "EM_APRM_Process_BS", "parameters": {} } }, {"tool": "etendo_neo_action", "arguments": { "spec": "financial-account", "entity": "account", "id": "", "action": "EM_APRM_MatchTransactions", "parameters": {} } }, {"tool": "etendo_neo_action", "arguments": { "spec": "financial-account", "entity": "account", "id": "", "action": "EM_APRM_Reconcile", "parameters": {} } }, {"tool": "etendo_neo_list", "arguments": { "spec": "financial-account", "entity": "reconciliations", "filters": { "account": "" }, "orderBy": "-transactionDate", "limit": 1 } }, {"tool": "etendo_neo_list", "arguments": { "spec": "financial-account", "entity": "clearedItems", "filters": { "reconciliation": "" } } }] ``` -------------------------------- ### Create EUR to USD Spot Rate Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/finance/treasury.md Use this JSON payload to create a new currency conversion rate entry. Ensure you replace placeholder IDs with actual currency IDs and resolve the 'conversionRateType' from the schema. ```json { "tool": "etendo_neo_create", "arguments": { "spec": "conversion-rates", "entity": "conversionRate", "fields": { "validFromDate": "2026-06-18", "validToDate": "2026-12-31", "currency": "", "toCurrency": "", "multipleRateBy": 1.0850, "divideRateBy": 0.9217, "conversionRateType": "" } } } ``` -------------------------------- ### etendo_neo_action Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/mcp/index.md Fires a specific action (e.g., button click) on a record. Requires `spec`, `entity`, `id`, and the `action` name. Optional parameters can be provided. ```APIDOC ## etendo_neo_action ### Description Fire a `type:button` action on a record (document confirmation, posting, copy-lines, generate-template, etc.). The button column name and the available actions are listed in the entity schema. ### Tool etendo_neo_action ### Arguments #### Required arguments - **spec** (string) - The API namespace. - **entity** (string) - The tab or sub-resource inside that spec. - **id** (string) - The unique identifier of the record. - **action** (string) - The name of the action to fire. #### Optional arguments - **parameters** (object) - Additional parameters required by the action. ``` -------------------------------- ### Inspect Sales-Order Header Schema Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/mcp/index.md Use `etendo_neo_schema` to understand the fields, types, and constraints of the 'sales-order' header. This helps in identifying required and writable fields for creation. ```json { "tool": "etendo_neo_schema", "arguments": { "spec": "sales-order", "entity": "header" } } ``` -------------------------------- ### Resolve Payment Method FK Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/finance/treasury.md Use the etendo_neo_selectors tool to find a payment method, optionally filtering by a specific account. ```json { "tool": "etendo_neo_selectors", "arguments": { "spec": "payment-in", "entity": "finPayment", "column": "paymentMethod", "recordContext": { "account": "" } } } ``` -------------------------------- ### Create Sales Order Line Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/mcp/index.md Use `etendo_neo_create` to add a line item to the sales order. Provide the `salesOrder` ID, `product` ID, quantity, price, and resolved `tax` ID. ```json { "tool": "etendo_neo_create", "arguments": { "spec": "sales-order", "entity": "lines", "fields": { "salesOrder": "", "product": "", "orderedQuantity": 5, "unitPrice": 12.50, "tax": "" } } } ``` -------------------------------- ### Trigger Financial Account Process Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/finance/treasury.md Initiate a specific process associated with a financial account. Replace `` with the account's ID and `` with the action identifier from the available process buttons. If the required parameters are unknown, call with empty parameters first. ```json etendo_neo_action(spec="financial-account", entity="account", id=, action=) ``` -------------------------------- ### Create Payment Term Atomically Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/finance/treasury.md Use this JSON payload with `etendo_neo_batch` to create a payment term header and its lines in a single atomic operation. Ensure all required fields for both header and lines are correctly populated. ```json { "tool": "etendo_neo_batch", "arguments": { "operations": [ { "id": "pt1", "spec": "payment-term", "entity": "header", "body": { "searchKey": "NET30", "name": "Net 30", "overduePaymentDaysRule": 30, "offsetMonthDue": 0, "fixedDueDate": false, "valid": true } }, { "id": "pt1l1", "spec": "payment-term", "entity": "lines", "parentRef": "pt1", "body": { "percentageDue": 100, "rest": true, "excludeTax": false, "fixedDueDate": false, "overduePaymentDaysRule": 30 } } ] } } ``` -------------------------------- ### Resolve Account FK Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/finance/treasury.md Use the etendo_neo_selectors tool to find a financial account for a payment-in transaction. Leave the query empty to list all available accounts. ```json { "tool": "etendo_neo_selectors", "arguments": { "spec": "payment-in", "entity": "finPayment", "column": "account", "query": "" } } ``` -------------------------------- ### Create Sales Order Header Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/agent-manual.md Creates a new sales order header with specified fields including dates and foreign keys. Capture the returned 'id' for subsequent operations. ```json { "tool": "etendo_neo_create", "arguments": { "spec": "sales-order", "entity": "header", "fields": { "businessPartner": "", "partnerAddress": "", "invoiceAddress": "", "priceList": "", "paymentTerms": "", "warehouse": "", "currency": "", "transactionDocument": "", "orderDate": "2026-06-18", "scheduledDeliveryDate": "2026-06-20", "accountingDate": "2026-06-18" } } } ``` -------------------------------- ### Reconcile (Re-run) Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/finance/bank-reconciliation.md Re-runs the reconciliation process if the document status allows it. Use with empty parameters first to discover input keys. ```APIDOC ## Reconcile (Re-run) ### Description Re-runs the reconciliation process if the document status allows it. ### Method etendo_neo_action ### Endpoint financial-account/reconciliations ### Parameters #### ID - **** (string) - Required - The ID of the reconciliation. #### Action `EM_Aprm_Process_Rec` #### Parameters `{}` ``` -------------------------------- ### Link Receipt to Invoice/Order Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/finance/treasury.md Details on how to link a created receipt to outstanding invoices or orders. This can be done by directly creating schedule detail lines or by using an automated process. ```APIDOC ## Link Receipt to Invoice/Order ### Description This section describes how to associate a customer receipt with specific invoices or orders. You can manually create the linking schedule details or use the 'Add Payment' action to automate this process. ### Method POST (Implicit via `etendo_neo_action` tool for automated linking) ### Endpoint `/finPayment/{id}/action/EM_Aprm_Add_Scheduledpayments` (Implicit) ### Parameters (for `EM_Aprm_Add_Scheduledpayments` action): - **parameters**: {} (An empty object is typically used for this action, with specific keys discoverable from validation messages if needed). ### Request Example (Automated Linking): ```json { "tool": "etendo_neo_action", "arguments": { "spec": "payment-in", "entity": "finPayment", "id": "", "action": "EM_Aprm_Add_Scheduledpayments", "parameters": {} } } ``` ### Note on Manual Linking: Manual linking involves creating records in the `payment-in/finPaymentScheduleDetail` entity. Inspect its schema using `etendo_neo_schema("payment-in", "finPaymentScheduleDetail")` and resolve FKs to the payment header and target schedule before creating lines. ``` -------------------------------- ### Inspect Sales-Order Lines Schema Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/mcp/index.md Use `etendo_neo_schema` to inspect the schema for 'sales-order' lines, understanding the fields and selectors available for order items. ```json { "tool": "etendo_neo_schema", "arguments": { "spec": "sales-order", "entity": "lines" } } ``` -------------------------------- ### Resolve Business Partner FK Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/finance/treasury.md Use the etendo_neo_selectors tool to find a business partner by name for a payment-in transaction. ```json { "tool": "etendo_neo_selectors", "arguments": { "spec": "payment-in", "entity": "finPayment", "column": "businessPartner", "query": "Acme" } } ``` -------------------------------- ### etendo_neo_create Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/mcp/index.md Creates a new record for a specified entity. Requires the `spec`, `entity`, and the fields for the new record. ```APIDOC ## etendo_neo_create ### Description Create a record. ### Tool etendo_neo_create ### Arguments #### Required arguments - **spec** (string) - The API namespace. - **entity** (string) - The tab or sub-resource inside that spec. - **fields** (object) - An object containing the fields and their values for the new record. #### Optional arguments — ``` -------------------------------- ### Confirm Sales Order using etendo_neo_action Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/mcp/index.md Use this snippet to confirm or process an existing sales order by invoking the 'CO' document action on the header. ```json { "tool": "etendo_neo_action", "arguments": { "spec": "sales-order", "entity": "header", "id": "", "action": "DocAction", "parameters": { "docAction": "CO" } } } ``` -------------------------------- ### Process Payment Action Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/finance/treasury.md Use the etendo_neo_action tool to execute the 'Process Payment' action for a customer receipt. This moves the payment status to 'RPR'. ```json { "tool": "etendo_neo_action", "arguments": { "spec": "payment-in", "entity": "finPayment", "id": "", "action": "EM_APRM_Process_Payment", "parameters": {} } } ``` -------------------------------- ### Reconcile Financial Account Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/finance/bank-reconciliation.md Initiates the reconciliation process for a given financial account. Use this to create a FIN_Reconciliation document. ```json { "tool": "etendo_neo_action", "arguments": { "spec": "financial-account", "entity": "account", "id": "", "action": "EM_APRM_Reconcile", "parameters": {} } } ``` -------------------------------- ### etendo_neo_defaults Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/mcp/index.md Computes default values for a new record, which is helpful before using `etendo_neo_create`. It can also consider parent and asset context. ```APIDOC ## etendo_neo_defaults ### Description Return computed default values for a new record (useful before `etendo_neo_create`). ### Tool etendo_neo_defaults ### Arguments #### Required arguments - **spec** (string) - The API namespace. - **entity** (string) - The tab or sub-resource inside that spec. #### Optional arguments - **parentId** (string) - The ID of the parent record. - **assetId** (string) - The ID of the asset. ``` -------------------------------- ### List Financial Accounts Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/finance/index.md Use this tool to retrieve a paginated list of financial accounts. Specify the entity and desired order for the results. ```json { "tool": "etendo_neo_list", "arguments": { "spec": "financial-account", "entity": "account", "limit": 20, "orderBy": "name" } } ``` -------------------------------- ### Read Sales Order Schemas Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/agent-manual.md Retrieves the schemas for the 'sales-order' header and lines entities. This helps identify required fields and available actions. ```json { "tool": "etendo_neo_schema", "arguments": { "spec": "sales-order", "entity": "header" } } ``` ```json { "tool": "etendo_neo_schema", "arguments": { "spec": "sales-order", "entity": "lines" } } ``` -------------------------------- ### Resolve Product Selector for Order Line Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/mcp/index.md Use `etendo_neo_selectors` to find a specific product ID by querying with a name like 'Widget'. This is required for creating order lines. ```json { "tool": "etendo_neo_selectors", "arguments": { "spec": "sales-order", "entity": "lines", "column": "product", "query": "Widget" } } ``` -------------------------------- ### Print Reconciliation Details Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/finance/bank-reconciliation.md Generates a detailed report of the reconciliation. Use with empty parameters first to discover input keys. ```APIDOC ## Print Reconciliation Details ### Description Generates a detailed report of the reconciliation. ### Method etendo_neo_action ### Endpoint financial-account/reconciliations ### Parameters #### ID - **** (string) - Required - The ID of the reconciliation. #### Action `EM_APRM_PrintDetailed` #### Parameters `{}` ``` -------------------------------- ### Inspect Financial Account Schema Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/finance/index.md Retrieve the schema for financial accounts to understand available fields, validation rules, and action buttons for `etendo_neo_action`. ```json { "tool": "etendo_neo_schema", "arguments": { "spec": "financial-account", "entity": "account" } } ``` -------------------------------- ### etendo_neo_batch Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/mcp/index.md Executes a sequence of cross-spec create operations atomically within a single transaction. Supports chaining IDs between operations using `$ref`. ```APIDOC ## etendo_neo_batch ### Description Run a sequence of cross-spec create operations atomically. All ops share one transaction (commit on success, rollback on any failure). Use `parentRef` to set the parent FK on a child-tab op, and `$ref:` substitution inside `body` to chain IDs across ops. ### Tool etendo_neo_batch ### Arguments #### Required arguments - **operations** (array) - An array of operation objects to execute. #### Optional arguments — ``` -------------------------------- ### Find Transactions to Match Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/finance/bank-reconciliation.md This action finds potential transactions to match with bank statement lines. It is typically called with empty parameters first to discover the input shape. ```APIDOC ## EM_Aprm_Findtransactionspd ### Description Finds transactions to match with bank statement lines. ### Method etendo_neo_action ### Endpoint financial-account/account ### Parameters #### Action `EM_Aprm_Findtransactionspd` #### Parameters `{}` - Typically takes the bank statement line id and the candidate transaction id. ``` -------------------------------- ### Print Reconciliation Summary Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/finance/bank-reconciliation.md Generates a summary report of the reconciliation. Use with empty parameters first to discover input keys. ```APIDOC ## Print Reconciliation Summary ### Description Generates a summary report of the reconciliation. ### Method etendo_neo_action ### Endpoint financial-account/reconciliations ### Parameters #### ID - **** (string) - Required - The ID of the reconciliation. #### Action `EM_APRM_PrintSummary` #### Parameters `{}` ``` -------------------------------- ### Post Reconciliation Document Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/finance/bank-reconciliation.md Books the reconciliation entries to the General Ledger. This action is performed on the reconciliations entity. ```json { "tool": "etendo_neo_action", "arguments": { "spec": "financial-account", "entity": "reconciliations", "id": "", "action": "Posted", "parameters": {} } } ``` -------------------------------- ### Process Payment Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/finance/treasury.md This section covers the actions to process a payment, including moving it to a 'Received' status, executing it, and reconciling it against transactions. ```APIDOC ## Process Payment ### Description This endpoint allows for the processing of a payment. It includes steps like initiating the payment process, executing the payment, and potentially reconciling it. The 'Post' action is a separate step for GL posting. ### Method POST (Implicit via `etendo_neo_action` tool) ### Endpoint `/finPayment/{id}/action/{action}` (Implicit) ### Actions: - **`EM_APRM_Process_Payment`**: Processes the payment, moving its status to 'RPAP' (Received). - **`EM_Aprm_Executepayment`**: Executes the payment through the configured method. - **`EM_APRM_Reconcile_Payment`**: Reconciles the payment against a transaction (process not fully exposed in schema metadata). - **`EM_APRM_ReversePayment`**: Reverses the payment. ### Request Example (Process Payment): ```json { "tool": "etendo_neo_action", "arguments": { "spec": "payment-in", "entity": "finPayment", "id": "", "action": "EM_APRM_Process_Payment", "parameters": {} } } ``` ``` -------------------------------- ### Reconciliation Process Force Source: https://github.com/etendosoftware/etendo-go-docs/blob/main/agentic/finance/bank-reconciliation.md Forces the reconciliation process. Use with empty parameters first to discover input keys. ```APIDOC ## Reconciliation Process Force ### Description Forces the reconciliation process. ### Method etendo_neo_action ### Endpoint financial-account/reconciliations ### Parameters #### ID - **** (string) - Required - The ID of the reconciliation. #### Action `EM_APRM_Process_Rec_Force` #### Parameters `{}` ```