pohoda_list_orders
Retrieve and filter order records from POHODA accounting software by type, date range, company, order number, or ID. Returns matching orders as JSON data.
Instructions
List orders from POHODA. Supports filtering by order type, ID, date range, company name, order number, or last changes. Returns JSON array of matching order records.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| orderType | No | Filter by order type (issuedOrder or receivedOrder) | |
| id | No | Filter by order ID | |
| dateFrom | No | Filter from date (DD.MM.YYYY or YYYY-MM-DD) | |
| dateTill | No | Filter till date (DD.MM.YYYY or YYYY-MM-DD) | |
| companyName | No | Filter by company name | |
| numberOrder | No | Filter by order number | |
| lastChanges | No | Filter by last changes date |
Implementation Reference
- src/tools/orders.ts:36-75 (handler)Implementation of the 'pohoda_list_orders' tool, which builds an XML request using POHODA's lst:listOrderRequest schema, sends it via the PohodaClient, and parses the response.
server.tool( "pohoda_list_orders", "List orders from POHODA. Supports filtering by order type, ID, date range, company name, order number, or last changes. Returns JSON array of matching order records.", { orderType: orderTypeEnum.optional().describe("Filter by order type (issuedOrder or receivedOrder)"), id: z.number().optional().describe("Filter by order ID"), dateFrom: z.string().optional().describe("Filter from date (DD.MM.YYYY or YYYY-MM-DD)"), dateTill: z.string().optional().describe("Filter till date (DD.MM.YYYY or YYYY-MM-DD)"), companyName: z.string().optional().describe("Filter by company name"), numberOrder: z.string().optional().describe("Filter by order number"), lastChanges: z.string().optional().describe("Filter by last changes date"), }, async (params) => { try { const xml = buildExportRequest( { ico: client.ico }, "lst:listOrderRequest", NS.lst, "lst:requestOrder", (req) => { if (params.orderType) req.att("orderType", params.orderType); applyOrderFilter(req, { id: params.id, dateFrom: params.dateFrom, dateTill: params.dateTill, companyName: params.companyName, numberOrder: params.numberOrder, lastChanges: params.lastChanges, }); } ); const response = await client.sendXml(xml); const parsed = parseResponse(response); const data = extractListData(parsed); return jsonResult("Orders", data, Array.isArray(data) ? data.length : 0); } catch (e) { return err((e as Error).message); } } );