pohoda_create_prodejka
Generate sales documents in POHODA accounting software by specifying date, partner details, and line items with quantities and prices.
Instructions
Create a sales document (prodejka) in POHODA
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Document date (DD.MM.YYYY or YYYY-MM-DD) | |
| text | No | Document text | |
| note | No | Note | |
| partnerName | No | ||
| partnerStreet | No | ||
| partnerCity | No | ||
| partnerZip | No | ||
| partnerIco | No | ||
| items | No | Line items |
Implementation Reference
- src/tools/warehouse.ts:140-140 (registration)The tool "pohoda_create_prodejka" is registered by calling buildWarehouseCreateTool in registerWarehouseTools.
buildWarehouseCreateTool(server, client, "pohoda_create_prodejka", "Create a sales document (prodejka) in POHODA", NS.pro, "pro", "prodejka", "prodejkaHeader", "prodejkaDetail", "prodejkaItem"); - src/tools/warehouse.ts:95-129 (handler)The handler logic for creating a document, used by "pohoda_create_prodejka" via buildWarehouseCreateTool.
async (params) => { try { const xml = buildImportDoc({ ico: client.ico }, (item) => { const doc = item.ele(ns, `${prefix}:${docTag}`).att("version", "2.0"); const hdr = doc.ele(ns, `${prefix}:${headerTag}`); hdr.ele(ns, `${prefix}:date`).txt(toIsoDate(params.date)); if (params.text) hdr.ele(ns, `${prefix}:text`).txt(params.text); addPartner(hdr, prefix, ns, params); if (params.note) hdr.ele(ns, `${prefix}:note`).txt(params.note); if (params.items?.length) { const det = doc.ele(ns, `${prefix}:${detailTag}`); for (const i of params.items) { const li = det.ele(ns, `${prefix}:${itemTag}`); li.ele(ns, `${prefix}:text`).txt(i.text); li.ele(ns, `${prefix}:quantity`).txt(String(i.quantity)); if (i.unit) li.ele(ns, `${prefix}:unit`).txt(i.unit); if (i.rateVAT) li.ele(ns, `${prefix}:rateVAT`).txt(i.rateVAT); li.ele(ns, `${prefix}:homeCurrency`).ele(NS.typ, "typ:unitPrice").txt(String(i.unitPrice)); if (i.stockCode) { li.ele(ns, `${prefix}:stockItem`).ele(NS.typ, "typ:stockItem").ele(NS.typ, "typ:ids").txt(i.stockCode); } } } }); const resp = parseResponse(await client.sendXml(xml)); const result = extractImportResult(resp); return result.success ? ok(`Document created. ${result.message}${result.producedId ? ` ID: ${result.producedId}` : ""}`) : err(`Failed: ${result.message}`); } catch (e) { return err((e as Error).message); } }, ); - src/tools/warehouse.ts:88-94 (schema)The input schema for creating a document, used by "pohoda_create_prodejka".
{ date: z.string().describe("Document date (DD.MM.YYYY or YYYY-MM-DD)"), text: z.string().optional().describe("Document text"), note: z.string().optional().describe("Note"), ...partnerFields, items: z.array(itemSchema).optional().describe("Line items"), },