pohoda_list_invoices
Retrieve and filter invoice records from POHODA accounting software by type, date range, company details, or other criteria. Returns matching invoices as JSON data.
Instructions
List invoices from POHODA. Supports filtering by invoice type, ID, date range, variable symbol, company name, IČO, or last changes. Returns JSON array of matching invoice records.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| invoiceType | No | Filter by invoice type | |
| id | No | Filter by invoice 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) | |
| variableSymbol | No | Filter by variable symbol | |
| companyName | No | Filter by company name | |
| ico | No | Filter by IČO | |
| lastChanges | No | Filter by last changes date |
Implementation Reference
- src/tools/invoices.ts:44-73 (handler)The handler function for 'pohoda_list_invoices' that builds the XML export request, sends it via the client, and returns the parsed list of invoices.
async (params) => { try { const xml = buildExportRequest( { ico: client.ico }, "lst:listInvoiceRequest", NS.lst, "lst:requestInvoice", (req) => { if (params.invoiceType) req.att("invoiceType", params.invoiceType); const filterParams: InvoiceFilterParams = { id: params.id, dateFrom: params.dateFrom, dateTill: params.dateTill, variableSymbol: params.variableSymbol, companyName: params.companyName, ico: params.ico, lastChanges: params.lastChanges, }; applyInvoiceFilter(req, filterParams); } ); const response = await client.sendXml(xml); const parsed = parseResponse(response); const data = extractListData(parsed); return jsonResult("Invoices", data, Array.isArray(data) ? data.length : 0); } catch (e) { return err((e as Error).message); } } ); - src/tools/invoices.ts:31-43 (registration)Registration of 'pohoda_list_invoices' tool with its input schema definitions using Zod.
server.tool( "pohoda_list_invoices", "List invoices from POHODA. Supports filtering by invoice type, ID, date range, variable symbol, company name, IČO, or last changes. Returns JSON array of matching invoice records.", { invoiceType: invoiceTypeEnum.optional().describe("Filter by invoice type"), id: z.number().optional().describe("Filter by invoice 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)"), variableSymbol: z.string().optional().describe("Filter by variable symbol"), companyName: z.string().optional().describe("Filter by company name"), ico: z.string().optional().describe("Filter by IČO"), lastChanges: z.string().optional().describe("Filter by last changes date"), },