siigo_get_trial_balance_by_third
Generate trial balance reports filtered by third parties in Siigo accounting software. Specify date ranges, account codes, and tax settings to analyze financial data by customer or supplier.
Instructions
Get trial balance by third party report
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| account_start | No | Starting account code | |
| account_end | No | Ending account code | |
| year | Yes | Year | |
| month_start | Yes | Starting month (1-13) | |
| month_end | Yes | Ending month (1-13) | |
| includes_tax_difference | Yes | Include tax differences | |
| customer | No | Customer filter |
Implementation Reference
- src/index.ts:1131-1134 (handler)MCP tool handler function that calls the SiigoClient's getTrialBalanceByThird method and formats the result as MCP content.private async handleGetTrialBalanceByThird(args: any) { const result = await this.siigoClient.getTrialBalanceByThird(args); return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] }; }
- src/siigo-client.ts:266-279 (helper)Core implementation in SiigoClient that authenticates and makes a GET request to the Siigo API endpoint '/v1/trial-balance-by-third' with the provided parameters.async getTrialBalanceByThird(params: { account_start?: string; account_end?: string; year: number; month_start: number; month_end: number; includes_tax_difference: boolean; customer?: { identification: string; branch_office?: number; }; }): Promise<SiigoApiResponse<any>> { return this.makeRequest<any>('GET', '/v1/trial-balance-by-third', undefined, params); }
- src/index.ts:750-766 (registration)Tool registration in the getTools() method, including the tool name, description, and input schema definition.{ name: 'siigo_get_trial_balance_by_third', description: 'Get trial balance by third party report', inputSchema: { type: 'object', properties: { account_start: { type: 'string', description: 'Starting account code' }, account_end: { type: 'string', description: 'Ending account code' }, year: { type: 'number', description: 'Year' }, month_start: { type: 'number', description: 'Starting month (1-13)' }, month_end: { type: 'number', description: 'Ending month (1-13)' }, includes_tax_difference: { type: 'boolean', description: 'Include tax differences' }, customer: { type: 'object', description: 'Customer filter' }, }, required: ['year', 'month_start', 'month_end', 'includes_tax_difference'], }, },
- src/index.ts:753-765 (schema)Input schema definition for the tool, specifying parameters and required fields.inputSchema: { type: 'object', properties: { account_start: { type: 'string', description: 'Starting account code' }, account_end: { type: 'string', description: 'Ending account code' }, year: { type: 'number', description: 'Year' }, month_start: { type: 'number', description: 'Starting month (1-13)' }, month_end: { type: 'number', description: 'Ending month (1-13)' }, includes_tax_difference: { type: 'boolean', description: 'Include tax differences' }, customer: { type: 'object', description: 'Customer filter' }, }, required: ['year', 'month_start', 'month_end', 'includes_tax_difference'], },
- src/index.ts:173-174 (handler)Dispatcher case in the CallToolRequest switch statement that routes to the specific handler.case 'siigo_get_trial_balance_by_third': return await this.handleGetTrialBalanceByThird(args);