@tailormade/billit-mcp 1.1.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -11
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/tools/documents.d.ts.map +1 -1
- package/dist/tools/documents.js +9 -13
- package/dist/tools/documents.js.map +1 -1
- package/dist/tools/financial.d.ts.map +1 -1
- package/dist/tools/financial.js +22 -26
- package/dist/tools/financial.js.map +1 -1
- package/dist/tools/orders.d.ts.map +1 -1
- package/dist/tools/orders.js +32 -25
- package/dist/tools/orders.js.map +1 -1
- package/dist/tools/parties.d.ts.map +1 -1
- package/dist/tools/parties.js +13 -16
- package/dist/tools/parties.js.map +1 -1
- package/dist/tools/peppol.d.ts.map +1 -1
- package/dist/tools/peppol.js +21 -18
- package/dist/tools/peppol.js.map +1 -1
- package/dist/tools/products.d.ts.map +1 -1
- package/dist/tools/products.js +7 -11
- package/dist/tools/products.js.map +1 -1
- package/dist/tools/toprocess.d.ts.map +1 -1
- package/dist/tools/toprocess.js +5 -9
- package/dist/tools/toprocess.js.map +1 -1
- package/dist/tools/utils.d.ts +9 -0
- package/dist/tools/utils.d.ts.map +1 -0
- package/dist/tools/utils.js +11 -0
- package/dist/tools/utils.js.map +1 -0
- package/dist/tools/workflows.d.ts.map +1 -1
- package/dist/tools/workflows.js +27 -20
- package/dist/tools/workflows.js.map +1 -1
- package/package.json +46 -30
package/README.md
CHANGED
|
@@ -1,21 +1,24 @@
|
|
|
1
1
|
# Billit MCP Server
|
|
2
2
|
|
|
3
|
-
MCP server for the [Billit](https://billit.be) invoicing API.
|
|
3
|
+
MCP server for the [Billit](https://billit.be) invoicing API. Provides 39 tools covering orders, parties, products, Peppol e-invoicing, documents, and financial operations.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## What it does
|
|
6
|
+
MCP server that exposes the Billit invoicing API as tools for AI assistants (Claude Desktop, Claude Code).
|
|
7
|
+
|
|
8
|
+
## Stack
|
|
9
|
+
TypeScript, Node.js, `@modelcontextprotocol/sdk`, Zod
|
|
10
|
+
|
|
11
|
+
## How to build/run
|
|
6
12
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
| Products | billit_list_products, billit_get_product, billit_create_product |
|
|
12
|
-
| Peppol | billit_peppol_list_inbox, billit_peppol_confirm_inbox, billit_peppol_refuse_inbox, billit_peppol_send_order, billit_peppol_lookup_participant, billit_peppol_register, billit_peppol_unregister |
|
|
13
|
-
| Documents | billit_list_documents, billit_get_document, billit_upload_document, billit_download_file |
|
|
14
|
-
| Financial | billit_list_financial_transactions, billit_import_financial_transactions, billit_list_reports, billit_get_report, billit_get_account_info, billit_search_company, billit_list_typecodes, billit_list_accountant_feeds, billit_confirm_accountant_feed, billit_download_accountant_file |
|
|
15
|
-
| ToProcess | billit_submit_for_processing, billit_cancel_processing |
|
|
13
|
+
```bash
|
|
14
|
+
npm ci
|
|
15
|
+
npm run build
|
|
16
|
+
```
|
|
16
17
|
|
|
17
18
|
## Setup
|
|
18
19
|
|
|
20
|
+
Add to Claude Desktop config:
|
|
21
|
+
|
|
19
22
|
```json
|
|
20
23
|
{
|
|
21
24
|
"mcpServers": {
|
|
@@ -39,3 +42,25 @@ MCP server for the [Billit](https://billit.be) invoicing API.
|
|
|
39
42
|
| BILLIT_API_KEY | Yes | API key from Billit account |
|
|
40
43
|
| BILLIT_PARTY_ID | Yes | Your Billit party ID |
|
|
41
44
|
| BILLIT_CONTEXT_PARTY_ID | No | Context party ID (for accountants acting on behalf) |
|
|
45
|
+
|
|
46
|
+
## Tools
|
|
47
|
+
|
|
48
|
+
| Category | Tools | Count |
|
|
49
|
+
|----------|-------|-------|
|
|
50
|
+
| Orders | billit_list_orders, billit_get_order, billit_create_order, billit_update_order, billit_confirm_order, billit_delete_order, billit_register_payment, billit_send_order | 8 |
|
|
51
|
+
| Parties | billit_list_parties, billit_get_party, billit_create_party, billit_update_party | 4 |
|
|
52
|
+
| Products | billit_list_products, billit_get_product, billit_create_product | 3 |
|
|
53
|
+
| Peppol | billit_peppol_list_inbox, billit_peppol_confirm_inbox, billit_peppol_refuse_inbox, billit_peppol_send_order, billit_peppol_lookup_participant, billit_peppol_register, billit_peppol_unregister | 7 |
|
|
54
|
+
| Documents | billit_list_documents, billit_get_document, billit_upload_document, billit_download_file | 4 |
|
|
55
|
+
| Financial | billit_list_financial_transactions, billit_import_financial_transactions, billit_list_reports, billit_get_report, billit_get_account_info, billit_search_company, billit_list_typecodes, billit_list_accountant_feeds, billit_register_accountant_feed, billit_confirm_accountant_feed, billit_download_accountant_file | 11 |
|
|
56
|
+
| ToProcess | billit_submit_for_processing, billit_cancel_processing | 2 |
|
|
57
|
+
|
|
58
|
+
## References
|
|
59
|
+
<!-- MANDATORY: list all external documentation sources -->
|
|
60
|
+
- [Billit API](https://app.billit.be/api/swagger) -- REST API
|
|
61
|
+
|
|
62
|
+
## Architecture
|
|
63
|
+
[filled at roundup]
|
|
64
|
+
|
|
65
|
+
## Known limitations
|
|
66
|
+
[filled at roundup]
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
const fs_1 = require("fs");
|
|
5
|
+
const path_1 = require("path");
|
|
4
6
|
const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
|
|
5
7
|
const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
8
|
+
const pkg = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(__dirname, "..", "package.json"), "utf-8"));
|
|
6
9
|
const client_js_1 = require("./api/client.js");
|
|
7
10
|
const orders_js_1 = require("./tools/orders.js");
|
|
8
11
|
const parties_js_1 = require("./tools/parties.js");
|
|
@@ -25,7 +28,7 @@ async function main() {
|
|
|
25
28
|
? parseInt(process.env["BILLIT_CONTEXT_PARTY_ID"], 10)
|
|
26
29
|
: undefined;
|
|
27
30
|
const client = new client_js_1.BillitClient({ apiKey, partyId, contextPartyId });
|
|
28
|
-
const server = new mcp_js_1.McpServer({ name: "billit-mcp", version:
|
|
31
|
+
const server = new mcp_js_1.McpServer({ name: "billit-mcp", version: pkg.version });
|
|
29
32
|
(0, orders_js_1.registerOrderTools)(server, client);
|
|
30
33
|
(0, parties_js_1.registerPartyTools)(server, client);
|
|
31
34
|
(0, products_js_1.registerProductTools)(server, client);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,oEAAoE;AACpE,wEAAiF;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,2BAAkC;AAClC,+BAA4B;AAC5B,oEAAoE;AACpE,wEAAiF;AAEjF,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AACrF,+CAA+C;AAC/C,iDAAuD;AACvD,mDAAwD;AACxD,qDAA2D;AAC3D,iDAAwD;AACxD,uDAA6D;AAC7D,uDAA8D;AAC9D,uDAA8D;AAC9D,uDAA6D;AAE7D,SAAS,cAAc,CAAC,IAAY;IAClC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,IAAI,EAAE,CAAC,CAAC;IAC9E,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClG,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;QAC3D,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,EAAE,EAAE,CAAC;QACtD,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,MAAM,GAAG,IAAI,wBAAY,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;IAErE,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAE3E,IAAA,8BAAkB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,IAAA,+BAAkB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,IAAA,kCAAoB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,IAAA,+BAAmB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,IAAA,oCAAqB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,IAAA,qCAAsB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,IAAA,qCAAsB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,IAAA,oCAAqB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEtC,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../src/tools/documents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../src/tools/documents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAoE5E"}
|
package/dist/tools/documents.js
CHANGED
|
@@ -2,11 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.registerDocumentTools = registerDocumentTools;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
|
-
|
|
6
|
-
return { content: [{ type: "text", text }] };
|
|
7
|
-
}
|
|
8
|
-
const companyId = zod_1.z.coerce.number().optional()
|
|
9
|
-
.describe("Billit PartyID of the company to act as. If not set, uses BILLIT_PARTY_ID env. If env is 0, call billit_get_account_info first to discover available companies.");
|
|
5
|
+
const utils_js_1 = require("./utils.js");
|
|
10
6
|
function registerDocumentTools(server, client) {
|
|
11
7
|
server.tool("billit_list_documents", "List documents stored in Billit. Returns document metadata including DocumentID, FileName, and associated order. Supports OData $filter, $orderby, full-text search.\n\nEXAMPLES:\n- orderby='CreationDate desc'\n- filter=\"OrderID eq 12345\"", {
|
|
12
8
|
filter: zod_1.z.string().optional().describe("OData $filter expression. Examples: \"OrderID eq 12345\", \"FileName eq 'invoice.pdf'\""),
|
|
@@ -14,7 +10,7 @@ function registerDocumentTools(server, client) {
|
|
|
14
10
|
search: zod_1.z.string().optional().describe("Full-text search on document name or content. Sent as 'fullTextSearch' query param."),
|
|
15
11
|
top: zod_1.z.coerce.number().optional().describe("Max results per page (max: 120)"),
|
|
16
12
|
skip: zod_1.z.coerce.number().optional().describe("Items to skip for pagination (default: 0)"),
|
|
17
|
-
company_id: companyId,
|
|
13
|
+
company_id: utils_js_1.companyId,
|
|
18
14
|
}, async ({ filter, orderby, search, top, skip, company_id }) => {
|
|
19
15
|
const params = new URLSearchParams();
|
|
20
16
|
if (filter)
|
|
@@ -29,33 +25,33 @@ function registerDocumentTools(server, client) {
|
|
|
29
25
|
params.set("$skip", String(skip));
|
|
30
26
|
const qs = params.toString();
|
|
31
27
|
const data = await client.request("GET", `/v1/documents${qs ? `?${qs}` : ""}`, undefined, company_id);
|
|
32
|
-
return respond(JSON.stringify(data, null, 2));
|
|
28
|
+
return (0, utils_js_1.respond)(JSON.stringify(data, null, 2));
|
|
33
29
|
});
|
|
34
30
|
server.tool("billit_get_document", "Get metadata and content of a specific document. Returns document details including a fileID (UUID) that can be used with billit_download_file to get the actual file content.", {
|
|
35
31
|
document_id: zod_1.z.coerce.number().describe("Numeric document ID from billit_list_documents result"),
|
|
36
|
-
company_id: companyId,
|
|
32
|
+
company_id: utils_js_1.companyId,
|
|
37
33
|
}, async ({ document_id, company_id }) => {
|
|
38
34
|
const data = await client.request("GET", `/v1/documents/${document_id}`, undefined, company_id);
|
|
39
|
-
return respond(JSON.stringify(data, null, 2));
|
|
35
|
+
return (0, utils_js_1.respond)(JSON.stringify(data, null, 2));
|
|
40
36
|
});
|
|
41
37
|
server.tool("billit_upload_document", "Upload a document to Billit (e.g. an incoming invoice PDF for processing). Returns the created DocumentID. Next step: billit_submit_for_processing to have Billit parse the document.\n\nNOTE: file_base64 must be a base64-encoded string of the file content. EXAMPLE: for a PDF, encode the raw bytes as base64. Max file size depends on Billit account settings.", {
|
|
42
38
|
file_base64: zod_1.z.string().describe("Base64-encoded file content"),
|
|
43
39
|
file_name: zod_1.z.string().describe("File name including extension (e.g. 'invoice-2026-001.pdf')"),
|
|
44
40
|
content_type: zod_1.z.string().optional().describe("MIME type (default: 'application/pdf'). Other common values: 'image/jpeg', 'image/png'"),
|
|
45
|
-
company_id: companyId,
|
|
41
|
+
company_id: utils_js_1.companyId,
|
|
46
42
|
}, async ({ file_base64, file_name, content_type, company_id }) => {
|
|
47
43
|
const body = {
|
|
48
44
|
FileBase64: file_base64, FileName: file_name, ContentType: content_type ?? "application/pdf",
|
|
49
45
|
};
|
|
50
46
|
const data = await client.request("POST", "/v1/documents", body, company_id);
|
|
51
|
-
return respond(JSON.stringify(data, null, 2));
|
|
47
|
+
return (0, utils_js_1.respond)(JSON.stringify(data, null, 2));
|
|
52
48
|
});
|
|
53
49
|
server.tool("billit_download_file", "Download a file by its UUID. File UUIDs are found in order responses (PDF of the invoice), document responses, or accountant feed items. Returns base64-encoded file content.\n\nCRITICAL: This endpoint uses a UUID (string like 'a1b2c3d4-...'), NOT a numeric ID. The fileID comes from order/document response fields, not from the DocumentID. Do not confuse DocumentID (numeric) with fileID (UUID).", {
|
|
54
50
|
file_id: zod_1.z.string().describe("File UUID (e.g. 'a1b2c3d4-e5f6-7890-abcd-ef1234567890'). Found in order or document response fields. This is NOT the numeric DocumentID."),
|
|
55
|
-
company_id: companyId,
|
|
51
|
+
company_id: utils_js_1.companyId,
|
|
56
52
|
}, async ({ file_id, company_id }) => {
|
|
57
53
|
const data = await client.request("GET", `/v1/files/${file_id}`, undefined, company_id);
|
|
58
|
-
return respond(JSON.stringify(data, null, 2));
|
|
54
|
+
return (0, utils_js_1.respond)(JSON.stringify(data, null, 2));
|
|
59
55
|
});
|
|
60
56
|
}
|
|
61
57
|
//# sourceMappingURL=documents.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documents.js","sourceRoot":"","sources":["../../src/tools/documents.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"documents.js","sourceRoot":"","sources":["../../src/tools/documents.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"financial.d.ts","sourceRoot":"","sources":["../../src/tools/financial.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"financial.d.ts","sourceRoot":"","sources":["../../src/tools/financial.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAoL7E"}
|
package/dist/tools/financial.js
CHANGED
|
@@ -2,16 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.registerFinancialTools = registerFinancialTools;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
|
-
|
|
6
|
-
return { content: [{ type: "text", text }] };
|
|
7
|
-
}
|
|
8
|
-
const companyId = zod_1.z.coerce.number().optional()
|
|
9
|
-
.describe("Billit PartyID of the company to act as. If not set, uses BILLIT_PARTY_ID env. If env is 0, call billit_get_account_info first to discover available companies.");
|
|
5
|
+
const utils_js_1 = require("./utils.js");
|
|
10
6
|
function registerFinancialTools(server, client) {
|
|
11
7
|
// ── billit_get_account_info ───────────────────────────────────────
|
|
12
|
-
server.tool("billit_get_account_info", "Get account and company information for the authenticated Billit API key. Returns a Companies array with PartyID, Name, VATNumber, and other details for each company associated with the API key.\n\nSTARTUP PROTOCOL: If BILLIT_PARTY_ID env is 0 or unknown, call this tool FIRST before any other Billit tool. Store the Companies array in memory (name → PartyID mapping). Then choose the correct company_id for all subsequent Billit tool calls based on conversation context.\n\nEXAMPLE: after calling this, you
|
|
8
|
+
server.tool("billit_get_account_info", "Get account and company information for the authenticated Billit API key. Returns a Companies array with PartyID, Name, VATNumber, and other details for each company associated with the API key.\n\nSTARTUP PROTOCOL: If BILLIT_PARTY_ID env is 0 or unknown, call this tool FIRST before any other Billit tool. Store the Companies array in memory (name → PartyID mapping). Then choose the correct company_id for all subsequent Billit tool calls based on conversation context.\n\nEXAMPLE: after calling this, you get a Companies array with PartyID + Name for each company. When user asks about invoices for a specific company, pass the matching company_id to billit_list_orders.", {}, async () => {
|
|
13
9
|
const data = await client.request("GET", "/v1/account/accountInformation");
|
|
14
|
-
return respond(JSON.stringify(data, null, 2));
|
|
10
|
+
return (0, utils_js_1.respond)(JSON.stringify(data, null, 2));
|
|
15
11
|
});
|
|
16
12
|
// ── billit_search_company ─────────────────────────────────────────
|
|
17
13
|
server.tool("billit_search_company", "Search for a Belgian company by name or VAT/KBO number in the official company database. Returns official company name, address, and enterprise number. Use before billit_create_party to auto-fill correct company data.\n\nEXAMPLE: billit_search_company with keywords='BE0123456789' or keywords='Acme NV' returns official KBO data. Use this to avoid typos when creating parties.", {
|
|
@@ -19,7 +15,7 @@ function registerFinancialTools(server, client) {
|
|
|
19
15
|
.describe("Company name, VAT number (BE0123456789), or KBO enterprise number to search"),
|
|
20
16
|
}, async ({ keywords }) => {
|
|
21
17
|
const data = await client.request("GET", `/v1/misc/companysearch/${encodeURIComponent(keywords)}`);
|
|
22
|
-
return respond(JSON.stringify(data, null, 2));
|
|
18
|
+
return (0, utils_js_1.respond)(JSON.stringify(data, null, 2));
|
|
23
19
|
});
|
|
24
20
|
// ── billit_list_typecodes ─────────────────────────────────────────
|
|
25
21
|
server.tool("billit_list_typecodes", "List valid type codes for a given category. Use to get valid values for VAT rates, units of measure, languages, etc.\n\nEXAMPLE type code types: 'VATRate' for VAT percentages, 'Unit' for units of measure, 'Language' for supported languages.", {
|
|
@@ -27,7 +23,7 @@ function registerFinancialTools(server, client) {
|
|
|
27
23
|
.describe("Type code category to list (e.g. 'VATRate', 'Unit', 'Language', 'Currency')"),
|
|
28
24
|
}, async ({ type_code_type }) => {
|
|
29
25
|
const data = await client.request("GET", `/v1/misc/typecodes/${encodeURIComponent(type_code_type)}`);
|
|
30
|
-
return respond(JSON.stringify(data, null, 2));
|
|
26
|
+
return (0, utils_js_1.respond)(JSON.stringify(data, null, 2));
|
|
31
27
|
});
|
|
32
28
|
// ── billit_list_financial_transactions ─────────────────────────────
|
|
33
29
|
server.tool("billit_list_financial_transactions", "List financial transactions in Billit (bank transactions, payments). Use to reconcile payments with orders. Supports full-text search, OData $filter and $orderby.\n\nEXAMPLES:\n- Recent first: orderby='ValueDate desc'\n- Date range: filter=\"ValueDate ge datetime'2026-01-01T00:00:00' and ValueDate le datetime'2026-03-31T23:59:59'\"\n- By counterparty: filter=\"NameCounterParty eq 'Mehmet'\"\n- Combined: orderby='ValueDate desc', filter=\"ValueDate ge datetime'2026-01-01T00:00:00'\"\n\nNOTE: max page size is 120. Date filter requires datetime'' syntax.", {
|
|
@@ -41,7 +37,7 @@ function registerFinancialTools(server, client) {
|
|
|
41
37
|
.describe("Max results per page (max: 120)"),
|
|
42
38
|
skip: zod_1.z.coerce.number().optional()
|
|
43
39
|
.describe("Items to skip for pagination (default: 0)"),
|
|
44
|
-
company_id: companyId,
|
|
40
|
+
company_id: utils_js_1.companyId,
|
|
45
41
|
}, async ({ search, filter, orderby, top, skip, company_id }) => {
|
|
46
42
|
const params = new URLSearchParams();
|
|
47
43
|
if (search)
|
|
@@ -56,7 +52,7 @@ function registerFinancialTools(server, client) {
|
|
|
56
52
|
params.set("$skip", String(skip));
|
|
57
53
|
const qs = params.toString();
|
|
58
54
|
const data = await client.request("GET", `/v1/financialTransactions${qs ? `?${qs}` : ""}`, undefined, company_id);
|
|
59
|
-
return respond(JSON.stringify(data, null, 2));
|
|
55
|
+
return (0, utils_js_1.respond)(JSON.stringify(data, null, 2));
|
|
60
56
|
});
|
|
61
57
|
// ── billit_import_financial_transactions ───────────────────────────
|
|
62
58
|
server.tool("billit_import_financial_transactions", "Import bank transactions from a CODA or MT940 bank statement file. Use to bulk-import bank transactions for payment reconciliation.\n\nNOTE: Supported formats are CODA (Belgian bank format) and MT940 (SWIFT bank format). file_base64 must be base64-encoded file content.", {
|
|
@@ -66,11 +62,11 @@ function registerFinancialTools(server, client) {
|
|
|
66
62
|
.describe("File name (e.g. 'statement-2026-01.coda' or 'statement.mt940')"),
|
|
67
63
|
content_type: zod_1.z.string()
|
|
68
64
|
.describe("MIME type of the file"),
|
|
69
|
-
company_id: companyId,
|
|
65
|
+
company_id: utils_js_1.companyId,
|
|
70
66
|
}, async ({ file_base64, file_name, content_type, company_id }) => {
|
|
71
67
|
const body = { FileBase64: file_base64, FileName: file_name, ContentType: content_type };
|
|
72
68
|
const data = await client.request("POST", "/v1/financialTransactions/commands/import", body, company_id);
|
|
73
|
-
return respond(JSON.stringify(data, null, 2));
|
|
69
|
+
return (0, utils_js_1.respond)(JSON.stringify(data, null, 2));
|
|
74
70
|
});
|
|
75
71
|
// ── billit_list_reports ───────────────────────────────────────────
|
|
76
72
|
server.tool("billit_list_reports", "List available reports in Billit (VAT reports, sales reports, etc.). Returns report metadata. Supports OData $orderby. Use billit_get_report to retrieve the actual report data.", {
|
|
@@ -80,7 +76,7 @@ function registerFinancialTools(server, client) {
|
|
|
80
76
|
.describe("Max results per page (max: 120)"),
|
|
81
77
|
skip: zod_1.z.coerce.number().optional()
|
|
82
78
|
.describe("Items to skip for pagination (default: 0)"),
|
|
83
|
-
company_id: companyId,
|
|
79
|
+
company_id: utils_js_1.companyId,
|
|
84
80
|
}, async ({ orderby, top, skip, company_id }) => {
|
|
85
81
|
const params = new URLSearchParams();
|
|
86
82
|
if (orderby)
|
|
@@ -91,44 +87,44 @@ function registerFinancialTools(server, client) {
|
|
|
91
87
|
params.set("$skip", String(skip));
|
|
92
88
|
const qs = params.toString();
|
|
93
89
|
const data = await client.request("GET", `/v1/reports${qs ? `?${qs}` : ""}`, undefined, company_id);
|
|
94
|
-
return respond(JSON.stringify(data, null, 2));
|
|
90
|
+
return (0, utils_js_1.respond)(JSON.stringify(data, null, 2));
|
|
95
91
|
});
|
|
96
92
|
// ── billit_get_report ─────────────────────────────────────────────
|
|
97
93
|
server.tool("billit_get_report", "Get the data of a specific Billit report. Use billit_list_reports to find report IDs.", {
|
|
98
|
-
report_id: zod_1.z.number()
|
|
94
|
+
report_id: zod_1.z.coerce.number()
|
|
99
95
|
.describe("Numeric report ID from billit_list_reports result"),
|
|
100
|
-
company_id: companyId,
|
|
96
|
+
company_id: utils_js_1.companyId,
|
|
101
97
|
}, async ({ report_id, company_id }) => {
|
|
102
98
|
const data = await client.request("GET", `/v1/reports/${report_id}`, undefined, company_id);
|
|
103
|
-
return respond(JSON.stringify(data, null, 2));
|
|
99
|
+
return (0, utils_js_1.respond)(JSON.stringify(data, null, 2));
|
|
104
100
|
});
|
|
105
101
|
// ── billit_list_accountant_feeds ──────────────────────────────────
|
|
106
|
-
server.tool("billit_list_accountant_feeds", "List all accountant feeds and their pending items. Feeds contain newly exported orders and documents for accountant processing. Poll at most once per minute. Next steps: billit_download_accountant_file to download items, billit_confirm_accountant_feed to confirm processed items.\n\nWARNING: Do not poll more than once per minute — this is a rate-limited endpoint. After downloading feed items, always confirm them with billit_confirm_accountant_feed to remove them from the feed.", { company_id: companyId }, async ({ company_id }) => {
|
|
102
|
+
server.tool("billit_list_accountant_feeds", "List all accountant feeds and their pending items. Feeds contain newly exported orders and documents for accountant processing. Poll at most once per minute. Next steps: billit_download_accountant_file to download items, billit_confirm_accountant_feed to confirm processed items.\n\nWARNING: Do not poll more than once per minute — this is a rate-limited endpoint. After downloading feed items, always confirm them with billit_confirm_accountant_feed to remove them from the feed.", { company_id: utils_js_1.companyId }, async ({ company_id }) => {
|
|
107
103
|
const data = await client.request("GET", "/v1/accountant/feeds", undefined, company_id);
|
|
108
|
-
return respond(JSON.stringify(data, null, 2));
|
|
104
|
+
return (0, utils_js_1.respond)(JSON.stringify(data, null, 2));
|
|
109
105
|
});
|
|
110
106
|
// ── billit_register_accountant_feed ───────────────────────────────
|
|
111
|
-
server.tool("billit_register_accountant_feed", "Register a new accountant feed. All newly exported orders and documents will appear in this feed for the accountant to download. One-time setup per accountant integration.", { company_id: companyId }, async ({ company_id }) => {
|
|
107
|
+
server.tool("billit_register_accountant_feed", "Register a new accountant feed. All newly exported orders and documents will appear in this feed for the accountant to download. One-time setup per accountant integration.", { company_id: utils_js_1.companyId }, async ({ company_id }) => {
|
|
112
108
|
const data = await client.request("POST", "/v1/accountant/feeds", undefined, company_id);
|
|
113
|
-
return respond(JSON.stringify(data ?? { success: true }, null, 2));
|
|
109
|
+
return (0, utils_js_1.respond)(JSON.stringify(data ?? { success: true }, null, 2));
|
|
114
110
|
});
|
|
115
111
|
// ── billit_confirm_accountant_feed ────────────────────────────────
|
|
116
112
|
server.tool("billit_confirm_accountant_feed", "Confirm that feed items have been successfully downloaded. This removes them from the feed list. Always call this after processing items from billit_list_accountant_feeds.\n\nCRITICAL: Always confirm downloaded items — without confirmation, the same items will reappear on the next poll. Pass the feed item IDs from the billit_list_accountant_feeds response.", {
|
|
117
113
|
feed_item_ids: zod_1.z.array(zod_1.z.string())
|
|
118
114
|
.describe("Array of feed item ID strings to confirm as downloaded. Get these from billit_list_accountant_feeds response."),
|
|
119
|
-
company_id: companyId,
|
|
115
|
+
company_id: utils_js_1.companyId,
|
|
120
116
|
}, async ({ feed_item_ids, company_id }) => {
|
|
121
117
|
const data = await client.request("POST", "/v1/accountant/feeds/confirm", { FeedItemIds: feed_item_ids }, company_id);
|
|
122
|
-
return respond(JSON.stringify(data ?? { success: true }, null, 2));
|
|
118
|
+
return (0, utils_js_1.respond)(JSON.stringify(data ?? { success: true }, null, 2));
|
|
123
119
|
});
|
|
124
120
|
// ── billit_download_accountant_file ───────────────────────────────
|
|
125
121
|
server.tool("billit_download_accountant_file", "Download a file from an accountant feed (e.g. a CODA file or exported invoice). Returns base64-encoded file content.", {
|
|
126
122
|
file_id: zod_1.z.string()
|
|
127
123
|
.describe("File ID from an accountant feed item"),
|
|
128
|
-
company_id: companyId,
|
|
124
|
+
company_id: utils_js_1.companyId,
|
|
129
125
|
}, async ({ file_id, company_id }) => {
|
|
130
126
|
const data = await client.request("GET", `/v1/accountant/files/${file_id}`, undefined, company_id);
|
|
131
|
-
return respond(JSON.stringify(data, null, 2));
|
|
127
|
+
return (0, utils_js_1.respond)(JSON.stringify(data, null, 2));
|
|
132
128
|
});
|
|
133
129
|
}
|
|
134
130
|
//# sourceMappingURL=financial.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"financial.js","sourceRoot":"","sources":["../../src/tools/financial.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"financial.js","sourceRoot":"","sources":["../../src/tools/financial.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orders.d.ts","sourceRoot":"","sources":["../../src/tools/orders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"orders.d.ts","sourceRoot":"","sources":["../../src/tools/orders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAKhD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAsNzE"}
|
package/dist/tools/orders.js
CHANGED
|
@@ -2,14 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.registerOrderTools = registerOrderTools;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
|
-
|
|
6
|
-
return { content: [{ type: "text", text }] };
|
|
7
|
-
}
|
|
8
|
-
const companyId = zod_1.z.coerce.number().optional()
|
|
9
|
-
.describe("Billit PartyID of the company to act as. If not set, uses BILLIT_PARTY_ID env. If env is 0, call billit_get_account_info first to discover available companies.");
|
|
5
|
+
const utils_js_1 = require("./utils.js");
|
|
10
6
|
const coerceBool = zod_1.z.union([zod_1.z.boolean(), zod_1.z.string().transform(v => v === "true")]).optional();
|
|
11
7
|
function registerOrderTools(server, client) {
|
|
12
|
-
server.tool("billit_list_orders", "List orders from Billit. Returns paginated array of orders (invoices, credit notes, offers). Use direction='Income' for outgoing (sales) orders, direction='Cost' for incoming (purchase) orders. Supports OData filtering and full-text search. Next steps: billit_get_order for full details including order lines, billit_confirm_order to approve, billit_register_payment when paid.\n\nWARNING: OrderDirection 'Income' means money coming IN (= outgoing invoices you send to customers). OrderDirection 'Cost' means money going OUT (= incoming invoices from suppliers). This is counter-intuitive. NOTE: fullTextSearch is a separate query param — do NOT put it in the OData $filter. OData date filter syntax: LastModified ge datetime'2026-01-01T00:00:00'", {
|
|
8
|
+
server.tool("billit_list_orders", "List orders from Billit. Returns paginated array of orders (invoices, credit notes, offers). Use direction='Income' for outgoing (sales) orders, direction='Cost' for incoming (purchase) orders. Supports OData filtering and full-text search. Next steps: billit_get_order for full details including order lines, billit_confirm_order to approve, billit_register_payment when paid.\n\nWARNING: OrderDirection 'Income' means money coming IN (= outgoing invoices you send to customers). OrderDirection 'Cost' means money going OUT (= incoming invoices from suppliers). This is counter-intuitive. NOTE: fullTextSearch is a separate query param — do NOT put it in the OData $filter. OData date filter syntax: LastModified ge datetime'2026-01-01T00:00:00'. NOTE: PartyName may be empty in list responses — use billit_get_order for full party/supplier details.", {
|
|
13
9
|
direction: zod_1.z.enum(["Income", "Cost"]).optional()
|
|
14
10
|
.describe("Filter by order direction: 'Income' = outgoing sales invoices (money coming in), 'Cost' = incoming purchase invoices (money going out)"),
|
|
15
11
|
order_type: zod_1.z.enum(["Invoice", "CreditNote", "Offer"]).optional()
|
|
@@ -27,7 +23,7 @@ function registerOrderTools(server, client) {
|
|
|
27
23
|
.describe("Max results per page (max: 120)"),
|
|
28
24
|
skip: zod_1.z.coerce.number().optional()
|
|
29
25
|
.describe("Items to skip for pagination (default: 0)"),
|
|
30
|
-
company_id: companyId,
|
|
26
|
+
company_id: utils_js_1.companyId,
|
|
31
27
|
}, async ({ direction, order_type, modified_after, approval_status, paid, search, orderby, top, skip, company_id }) => {
|
|
32
28
|
const filters = [];
|
|
33
29
|
if (direction)
|
|
@@ -53,14 +49,14 @@ function registerOrderTools(server, client) {
|
|
|
53
49
|
params.set("$skip", String(skip));
|
|
54
50
|
const qs = params.toString();
|
|
55
51
|
const data = await client.request("GET", `/v1/orders${qs ? `?${qs}` : ""}`, undefined, company_id);
|
|
56
|
-
return respond(JSON.stringify(data, null, 2));
|
|
52
|
+
return (0, utils_js_1.respond)(JSON.stringify(data, null, 2));
|
|
57
53
|
});
|
|
58
54
|
server.tool("billit_get_order", "Get full details of an order including all order lines, customer/supplier info, totals (excl/incl VAT), payment status, and booking entries. Use this after billit_list_orders to get line items. Next steps: billit_update_order (mark paid/sent), billit_register_payment, billit_confirm_order, billit_send_order.", {
|
|
59
55
|
order_id: zod_1.z.coerce.number().describe("Numeric order ID from billit_list_orders result"),
|
|
60
|
-
company_id: companyId,
|
|
56
|
+
company_id: utils_js_1.companyId,
|
|
61
57
|
}, async ({ order_id, company_id }) => {
|
|
62
58
|
const data = await client.request("GET", `/v1/orders/${order_id}`, undefined, company_id);
|
|
63
|
-
return respond(JSON.stringify(data, null, 2));
|
|
59
|
+
return (0, utils_js_1.respond)(JSON.stringify(data, null, 2));
|
|
64
60
|
});
|
|
65
61
|
server.tool("billit_create_order", "Create a new order (invoice or credit note) in Billit. For outgoing sales invoices use order_direction='Income'. For incoming purchase invoices use order_direction='Cost'. Returns the created order ID. Next steps: billit_confirm_order to set ApprovalStatus=approved, billit_send_order to email/Peppol.\n\nNOTE: 'lines' parameter must be a JSON string containing an array: '[{\"description\":\"Service\",\"quantity\":1,\"unit_price_excl\":100,\"vat_percentage\":21}]'. EXAMPLE: to create a sales invoice for customer BE0123456789, use order_direction='Income', order_type='Invoice'.", {
|
|
66
62
|
order_type: zod_1.z.enum(["Invoice", "CreditNote"]).describe("'Invoice' or 'CreditNote'"),
|
|
@@ -80,9 +76,16 @@ function registerOrderTools(server, client) {
|
|
|
80
76
|
payment_reference: zod_1.z.string().optional().describe("Structured payment reference (e.g. +++084/2613/66074+++)"),
|
|
81
77
|
currency: zod_1.z.string().optional().describe("Currency code (default: EUR)"),
|
|
82
78
|
lines: zod_1.z.string().describe("JSON string array of order lines: [{\"description\": \"...\", \"quantity\": 1, \"unit_price_excl\": 100.0, \"vat_percentage\": 21}]"),
|
|
83
|
-
company_id: companyId,
|
|
79
|
+
company_id: utils_js_1.companyId,
|
|
84
80
|
}, async (params) => {
|
|
85
|
-
|
|
81
|
+
let parsedLines;
|
|
82
|
+
try {
|
|
83
|
+
parsedLines = JSON.parse(params.lines);
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
return (0, utils_js_1.respond)(`Error: 'lines' is not valid JSON. Expected a JSON array of objects, e.g.:\n` +
|
|
87
|
+
`[{"description":"Service","quantity":1,"unit_price_excl":100,"vat_percentage":21}]`);
|
|
88
|
+
}
|
|
86
89
|
const body = {
|
|
87
90
|
OrderType: params.order_type,
|
|
88
91
|
OrderDirection: params.order_direction,
|
|
@@ -112,7 +115,7 @@ function registerOrderTools(server, client) {
|
|
|
112
115
|
...(params.currency && { Currency: params.currency }),
|
|
113
116
|
};
|
|
114
117
|
const data = await client.request("POST", "/v1/orders", body, params.company_id);
|
|
115
|
-
return respond(JSON.stringify(data, null, 2));
|
|
118
|
+
return (0, utils_js_1.respond)(JSON.stringify(data, null, 2));
|
|
116
119
|
});
|
|
117
120
|
server.tool("billit_update_order", "Update a limited set of fields on an existing order: payment status, send status, approval status, internal info, account code, export flags. Only include fields you want to change — absent fields are not modified.\n\nNOTE: Only fields present in the request are updated. To mark an order as paid, provide both paid=true and paid_date. To approve use billit_confirm_order (shortcut) or set approval_status='approved' here.", {
|
|
118
121
|
order_id: zod_1.z.coerce.number().describe("Numeric order ID to update"),
|
|
@@ -124,7 +127,7 @@ function registerOrderTools(server, client) {
|
|
|
124
127
|
account_code: zod_1.z.string().optional().describe("Accounting code for bookkeeping export"),
|
|
125
128
|
invoiced: coerceBool.describe("Mark as invoiced (for offers)"),
|
|
126
129
|
exported_to_connector: coerceBool.describe("Mark as exported to external accounting connector"),
|
|
127
|
-
company_id: companyId,
|
|
130
|
+
company_id: utils_js_1.companyId,
|
|
128
131
|
}, async ({ order_id, paid, paid_date, is_sent, approval_status, internal_info, account_code, invoiced, exported_to_connector, company_id }) => {
|
|
129
132
|
const body = {};
|
|
130
133
|
if (paid !== undefined)
|
|
@@ -144,41 +147,45 @@ function registerOrderTools(server, client) {
|
|
|
144
147
|
if (exported_to_connector !== undefined)
|
|
145
148
|
body.ExportedToConnector = exported_to_connector;
|
|
146
149
|
const data = await client.request("PATCH", `/v1/orders/${order_id}`, body, company_id);
|
|
147
|
-
return respond(JSON.stringify(data, null, 2));
|
|
150
|
+
return (0, utils_js_1.respond)(JSON.stringify(data, null, 2));
|
|
148
151
|
});
|
|
149
152
|
server.tool("billit_confirm_order", "Shortcut to approve an order for Billit processing. Sets ApprovalStatus to 'approved'. Required before Billit will process/send the invoice. Equivalent to billit_update_order with approval_status='approved'.", {
|
|
150
153
|
order_id: zod_1.z.coerce.number().describe("Numeric order ID to approve"),
|
|
151
|
-
company_id: companyId,
|
|
154
|
+
company_id: utils_js_1.companyId,
|
|
152
155
|
}, async ({ order_id, company_id }) => {
|
|
153
156
|
const data = await client.request("PATCH", `/v1/orders/${order_id}`, { ApprovalStatus: "approved" }, company_id);
|
|
154
|
-
return respond(JSON.stringify(data, null, 2));
|
|
157
|
+
return (0, utils_js_1.respond)(JSON.stringify(data, null, 2));
|
|
155
158
|
});
|
|
156
|
-
server.tool("billit_delete_order", "Delete an order
|
|
159
|
+
server.tool("billit_delete_order", "Delete an order permanently. Typically only applicable for draft or rejected orders. Supports dry_run=true to preview without deleting.", {
|
|
157
160
|
order_id: zod_1.z.coerce.number().describe("Numeric order ID to delete"),
|
|
158
|
-
|
|
159
|
-
|
|
161
|
+
dry_run: coerceBool.describe("When true, simulates the delete without making changes (default: false)"),
|
|
162
|
+
company_id: utils_js_1.companyId,
|
|
163
|
+
}, async ({ order_id, dry_run, company_id }) => {
|
|
164
|
+
if (dry_run) {
|
|
165
|
+
return (0, utils_js_1.respond)(`Dry run: would delete order ${order_id}. No changes made.`);
|
|
166
|
+
}
|
|
160
167
|
await client.request("DELETE", `/v1/orders/${order_id}`, undefined, company_id);
|
|
161
|
-
return respond(`Order ${order_id} deleted.`);
|
|
168
|
+
return (0, utils_js_1.respond)(`Order ${order_id} deleted.`);
|
|
162
169
|
});
|
|
163
170
|
server.tool("billit_register_payment", "Register a payment for an order. Use after confirming receipt of payment. Multiple payments can be registered (partial payments). Next step: billit_update_order with paid=true when fully paid.", {
|
|
164
171
|
order_id: zod_1.z.coerce.number().describe("Numeric order ID"),
|
|
165
172
|
amount: zod_1.z.coerce.number().describe("Payment amount as decimal (e.g. 121.00)"),
|
|
166
173
|
payment_date: zod_1.z.string().describe("Date payment was received (YYYY-MM-DD)"),
|
|
167
174
|
payment_reference: zod_1.z.string().optional().describe("Payment reference or bank transaction ID"),
|
|
168
|
-
company_id: companyId,
|
|
175
|
+
company_id: utils_js_1.companyId,
|
|
169
176
|
}, async ({ order_id, amount, payment_date, payment_reference, company_id }) => {
|
|
170
177
|
const body = { Amount: amount, PaymentDate: payment_date };
|
|
171
178
|
if (payment_reference)
|
|
172
179
|
body.PaymentReference = payment_reference;
|
|
173
180
|
const data = await client.request("POST", `/v1/orders/${order_id}/payments`, body, company_id);
|
|
174
|
-
return respond(JSON.stringify(data, null, 2));
|
|
181
|
+
return (0, utils_js_1.respond)(JSON.stringify(data, null, 2));
|
|
175
182
|
});
|
|
176
183
|
server.tool("billit_send_order", "Send one or more orders to the customer via email or Peppol (depending on customer configuration). Returns immediately — delivery is async. Prerequisites: order must be confirmed (ApprovalStatus=approved). Use billit_peppol_lookup_participant first to check if customer is on Peppol.\n\nNOTE: Sending method (email vs Peppol) is determined by Billit based on customer configuration. To force Peppol, use billit_peppol_send_order instead. CRITICAL: order must have ApprovalStatus='approved' before sending — use billit_confirm_order first.", {
|
|
177
184
|
order_ids: zod_1.z.array(zod_1.z.number()).describe("Array of numeric order IDs to send (can send multiple at once)"),
|
|
178
|
-
company_id: companyId,
|
|
185
|
+
company_id: utils_js_1.companyId,
|
|
179
186
|
}, async ({ order_ids, company_id }) => {
|
|
180
187
|
const data = await client.request("POST", "/v1/orders/commands/send", { OrderIDs: order_ids }, company_id);
|
|
181
|
-
return respond(JSON.stringify(data ?? { sent: order_ids }, null, 2));
|
|
188
|
+
return (0, utils_js_1.respond)(JSON.stringify(data ?? { sent: order_ids }, null, 2));
|
|
182
189
|
});
|
|
183
190
|
}
|
|
184
191
|
//# sourceMappingURL=orders.js.map
|
package/dist/tools/orders.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orders.js","sourceRoot":"","sources":["../../src/tools/orders.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"orders.js","sourceRoot":"","sources":["../../src/tools/orders.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parties.d.ts","sourceRoot":"","sources":["../../src/tools/parties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"parties.d.ts","sourceRoot":"","sources":["../../src/tools/parties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAyHzE"}
|