@fullqueso/mcp-bc-gastos 1.31.0 → 1.35.0
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/CHANGELOG.md +81 -0
- package/README.md +237 -68
- package/config/bank-gl-map.json +304 -40
- package/config/company-config.js +22 -1
- package/config/income-accounts.js +3 -2
- package/lib/bc-client.js +14 -0
- package/package.json +1 -1
- package/scripts/generate-tools-doc.mjs +129 -0
- package/server.js +17 -2
- package/tools/account-transactions.js +2 -2
- package/tools/anomaly-detection.js +2 -1
- package/tools/auditoria/bank-ledger-entries.js +2 -2
- package/tools/auditoria/bank-reconciliation-report.js +2 -2
- package/tools/auditoria/find-potential-matches.js +2 -2
- package/tools/auditoria/gl-account-entries.js +2 -2
- package/tools/auditoria/list-bank-accounts.js +2 -2
- package/tools/auditoria/pm-receipts.js +2 -2
- package/tools/auditoria/reconcile-pos-sales.js +2 -2
- package/tools/auditoria/reconciliation-status.js +2 -2
- package/tools/auditoria/suggest-journal-entries.js +2 -2
- package/tools/auditoria/unmatched-ledger-entries.js +2 -2
- package/tools/auditoria/unmatched-statement-lines.js +2 -2
- package/tools/cierre-mensual/generate-closing-journal.js +2 -1
- package/tools/cierre-mensual/get-match-results.js +2 -1
- package/tools/cierre-mensual/get-questionnaire.js +2 -1
- package/tools/cierre-mensual/reconcile-with-bc.js +2 -2
- package/tools/cierre-mensual/start-month-closing.js +2 -2
- package/tools/cierre-mensual/submit-answers.js +2 -1
- package/tools/cobranzas/collection-status.js +2 -2
- package/tools/cobranzas/customer-balances.js +2 -2
- package/tools/cobranzas/customer-ledger.js +2 -2
- package/tools/cobranzas/customer-list.js +2 -2
- package/tools/cobranzas/open-payables.js +2 -2
- package/tools/cobranzas/open-receivables.js +2 -2
- package/tools/cobranzas/vendor-ledger.js +2 -2
- package/tools/efficiency-ratios.js +2 -1
- package/tools/expense-analysis.js +2 -1
- package/tools/expense-details.js +2 -2
- package/tools/financials/cash-flow.js +2 -2
- package/tools/financials/income-statement.js +265 -0
- package/tools/financials/index.js +3 -1
- package/tools/get-exchange-rate.js +2 -2
- package/tools/inventario/inventory-by-location.js +2 -2
- package/tools/inventario/inventory-change.js +2 -2
- package/tools/inventario/inventory-levels.js +2 -2
- package/tools/inventario/item-card.js +2 -2
- package/tools/inventario/item-cost-trend.js +2 -2
- package/tools/inventario/item-ledger-entries.js +2 -2
- package/tools/inventario/item-value-entries.js +2 -2
- package/tools/list-vendors.js +2 -2
- package/tools/multi-payment/draft-payables.js +2 -2
- package/tools/multi-payment/draft-receivables.js +2 -2
- package/tools/multi-payment/draft-summary.js +2 -2
- package/tools/multi-payment/index.js +1 -0
- package/tools/multi-payment/unposted-invoices.js +224 -0
- package/tools/payroll/employees.js +2 -2
- package/tools/payroll/index.js +1 -0
- package/tools/payroll/payroll-documents.js +2 -2
- package/tools/payroll/payroll-lines.js +2 -2
- package/tools/payroll/payroll-payments.js +133 -0
- package/tools/reports/manager-report.js +2 -2
- package/tools/store-comparison.js +1 -1
- package/tools/trends.js +2 -1
- package/tools/vendor-transactions.js +2 -2
- package/tools/ventas/item-sales-detail.js +2 -2
- package/tools/ventas/product-performance.js +2 -1
- package/tools/ventas/sales-analysis.js +2 -1
- package/tools/ventas/sales-store-comparison.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,86 @@
|
|
|
1
1
|
# CHANGELOG
|
|
2
2
|
|
|
3
|
+
## [1.35.0] — 2026-09-03
|
|
4
|
+
|
|
5
|
+
Release de publicación: npm estaba en 1.33.0 mientras el repo ya tenía 1.34.0 + FQYK.
|
|
6
|
+
Esta versión sube a npm todo lo pendiente (incluye lo que 1.34.0 nunca documentó acá).
|
|
7
|
+
|
|
8
|
+
### Added — `get_payroll_payments` (venía de 1.34.0, sin entrada en el CHANGELOG)
|
|
9
|
+
Documentos y líneas de pago de nómina para diagnóstico de residuales. `tools/payroll/`.
|
|
10
|
+
|
|
11
|
+
### Added — FQYK City Market operativa en los 59 tools
|
|
12
|
+
- `config/company-config.js`: nueva compañía **FQYK** (City Market, Sabana Grande; alta en
|
|
13
|
+
producción 2026-08-29) y `ALL_STORE_CODES` como **fuente única** del universo de tiendas.
|
|
14
|
+
Los enum `store` de todos los tools la importan en vez de hardcodear la lista — agregar una
|
|
15
|
+
tienda ya no requiere tocar 50 archivos.
|
|
16
|
+
- `companyName` = `ALIMENTOS%20YELLOW%20KING%2C%20C.A`: al PATCHear `companyInformation`, BC
|
|
17
|
+
renombra la compañía a su `displayName`. Las URLs OData usan **ese** nombre; con el anterior
|
|
18
|
+
devuelven `company does not exist`.
|
|
19
|
+
- Si falta `BC_COMPANY_FQYK` en el entorno, `resolveStores()` avisa una vez por stderr: los
|
|
20
|
+
tools OData (por nombre) siguen funcionando, los REST (por GUID) fallan con 404.
|
|
21
|
+
|
|
22
|
+
### Changed — README
|
|
23
|
+
- El bloque de ejemplo de `claude_desktop_config.json` ahora incluye `BC_COMPANY_FQYK`.
|
|
24
|
+
- Notas de instalación en macOS: rutas absolutas de Node (Claude Desktop no hereda el `PATH`
|
|
25
|
+
del shell) y setup de `~/mcp-venv` con `openpyxl` para los tools que exportan Excel.
|
|
26
|
+
- Conteo de tools corregido: 59 en 10 dominios (decía 22 en 4) y sección de tools regenerada.
|
|
27
|
+
|
|
28
|
+
## [1.33.0] — 2026-07-11
|
|
29
|
+
|
|
30
|
+
### Added — `get_income_statement`: estado de resultados en formato Power BI (Level 1)
|
|
31
|
+
Nuevo tool en `tools/financials/income-statement.js`. READ-ONLY.
|
|
32
|
+
|
|
33
|
+
- **Qué expone:** el reporte "Income Statement by Month" de Power BI (G/L Account **Level 1**)
|
|
34
|
+
para una tienda y un mes, agregando los General Ledger entries por cuenta level-1 con la
|
|
35
|
+
convención de signos de Power BI (`amount = debitAmount − creditAmount` → ingresos negativos,
|
|
36
|
+
costos/gastos positivos, Total negativo = ganancia). Devuelve las 3 secciones (40001/50001/60001),
|
|
37
|
+
cuentas level-1, totales, Total general y un **`accounts_map`** listo para el generador Excel
|
|
38
|
+
del skill-fq-resultados-mensual (`data.json`). Con `level=2` incluye las cuentas de posteo
|
|
39
|
+
hijas con su nombre real de BC.
|
|
40
|
+
- **Por qué:** resuelve las fronteras que `get_financial_statements` (agrega por categoría) no
|
|
41
|
+
separa: nómina **71000** vs impuestos **74000**, y otros **74000** (80xxx) vs **90000** (9xxxx).
|
|
42
|
+
Trabaja desde los entries por cuenta, así que cuadra 1:1 con Power BI.
|
|
43
|
+
- **Estructura level-1** embebida (`COA_PBI`) — fuente: screenshots Power BI FQ28, CoA compartido
|
|
44
|
+
FQ01/FQ28/FQ88. Espejo de `skill-fq-resultados-mensual/references/income_statement_coa.json`.
|
|
45
|
+
- **Nuevo en bc-client:** `getChartOfAccountNames(companyId)` (entidad BC `accounts`, cache por
|
|
46
|
+
companyId) para etiquetar las cuentas hijas en level 2.
|
|
47
|
+
- **Test:** `tests/test-income-statement.js` (agregación pura con GL entries mock, sin BC):
|
|
48
|
+
valida signos, mapeo por rangos, fronteras 71000/74000 y 74000/90000, totales y level 2.
|
|
49
|
+
- La columna **Ajustado** (drafts como posteados) y la reclasificación de dividendos las agrega
|
|
50
|
+
el skill sobre el `posted` — el MCP entrega solo el posted objetivo del GL.
|
|
51
|
+
|
|
52
|
+
## [1.32.1] — 2026-07-04
|
|
53
|
+
|
|
54
|
+
### Docs — README "Tools" regenerado desde el código (22 stale → 57 reales)
|
|
55
|
+
- **`scripts/generate-tools-doc.mjs`**: importa dinámicamente todos los `*Tool` de
|
|
56
|
+
`tools/**/*.js` (incluye definiciones en `index.js`, dedup por `name`), agrupa por
|
|
57
|
+
categoría y reescribe la sección `## Tools (N)` del README. Verificado 57/57 contra
|
|
58
|
+
el switch de `server.js`. Uso: `node scripts/generate-tools-doc.mjs --write`
|
|
59
|
+
(sin flag = dry-run a stdout). La sección queda marcada como autogenerada.
|
|
60
|
+
|
|
61
|
+
## [1.32.0] — 2026-07-04
|
|
62
|
+
|
|
63
|
+
### Added — `get_unposted_invoices`: facturas sin postear para Cierre Parcial
|
|
64
|
+
Nuevo tool en el cluster de draft visibility (`tools/multi-payment/unposted-invoices.js`).
|
|
65
|
+
Verificado contra BC real (mayo 2026, 4 empresas). READ-ONLY.
|
|
66
|
+
|
|
67
|
+
- **Qué expone:** facturas de compra y venta con `status` `Draft`/`In Review` en
|
|
68
|
+
`api/v2.0` `purchaseInvoices`/`salesInvoices` — documentos que NO están en el GL.
|
|
69
|
+
Complementa a `get_draft_payables`/`receivables`/`summary`, que son Multi-Payments
|
|
70
|
+
(settlement) sobre facturas ya posteadas y por tanto no sirven como ajuste P&L.
|
|
71
|
+
- **Para qué:** ajuste de CIERRE PARCIAL del P&L en `skill-fq-resultados-mensual`
|
|
72
|
+
(compras draft → +costo/gasto; ventas draft no-IC → +ingreso). Cada tienda incluye
|
|
73
|
+
`pl_adjustment_hint` con los montos listos.
|
|
74
|
+
- **Params:** `store` (incl. `all`), `type` (purchases|sales|both), `start_date`/`end_date`
|
|
75
|
+
(filtro por `postingDate`), `include_in_review` (default true), `summary_only`.
|
|
76
|
+
- **Multi-moneda correcto:** totales SIEMPRE por moneda (`by_currency`,
|
|
77
|
+
`non_ic_by_currency`, consolidado por moneda) — nunca se suman VES con USD.
|
|
78
|
+
`LCY` = USD; VES se convierte aguas arriba con `get_exchange_rate`.
|
|
79
|
+
- **Ventas IC:** separa clientes `IC-*` (`intercompany`) del total ajustable.
|
|
80
|
+
- **Smoke test:** `tests/test-unposted-invoices.js` (store y mes por CLI).
|
|
81
|
+
- Hallazgo del estreno (mayo 2026): FQ01 11 compras sin postear (Bs 1,838,737.54),
|
|
82
|
+
FQ28 4 (Bs 1,210,031.04), FQFR 2 ($7,116.50), FQ01 1 venta IC (Bs 165,456.04).
|
|
83
|
+
|
|
3
84
|
## [1.31.0] — 2026-07-01
|
|
4
85
|
|
|
5
86
|
### Added — KPIs de nómina operativa: tienda vs eventos, activos vs pagados
|
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# @fullqueso/mcp-bc-gastos
|
|
2
2
|
|
|
3
|
-
MCP server for Microsoft Business Central — operational expenses, bank reconciliation, POS reconciliation, and accounts receivable/payable. Built for the Full Queso franchise (
|
|
3
|
+
MCP server for Microsoft Business Central — operational expenses, bank reconciliation, POS reconciliation, and accounts receivable/payable. Built for the Full Queso franchise (4 stores: FQ01 Chacao, FQ28 Marques, FQ88 Candelaria, FQYK City Market — plus FQFR, the franchisor).
|
|
4
4
|
|
|
5
|
-
**
|
|
5
|
+
**59 tools** across 10 domains, powered by 4 BC API integrations.
|
|
6
6
|
|
|
7
7
|
## Features
|
|
8
8
|
|
|
@@ -34,6 +34,7 @@ Add to your `claude_desktop_config.json`:
|
|
|
34
34
|
"BC_COMPANY_FQ01": "company-guid-fq01",
|
|
35
35
|
"BC_COMPANY_FQ28": "company-guid-fq28",
|
|
36
36
|
"BC_COMPANY_FQ88": "company-guid-fq88",
|
|
37
|
+
"BC_COMPANY_FQYK": "company-guid-fqyk",
|
|
37
38
|
"BC_COMPANY_FQFR": "company-guid-franquicias"
|
|
38
39
|
}
|
|
39
40
|
}
|
|
@@ -41,6 +42,17 @@ Add to your `claude_desktop_config.json`:
|
|
|
41
42
|
}
|
|
42
43
|
```
|
|
43
44
|
|
|
45
|
+
> **macOS — rutas absolutas.** Claude Desktop no hereda el `PATH` del shell: si Node vino de
|
|
46
|
+
> Homebrew o nvm, `"command": "npx"` falla con `spawn npx ENOENT`. Lo robusto es
|
|
47
|
+
> `npm install -g @fullqueso/mcp-bc-gastos` y luego apuntar el config al server con rutas
|
|
48
|
+
> absolutas — `"command"` = salida de `command -v node`, `"args"` = `["<npm root -g>/@fullqueso/mcp-bc-gastos/server.js"]`.
|
|
49
|
+
|
|
50
|
+
> **Exportación a Excel.** Los tools que generan `.xlsx` (`generate_cxp_report`,
|
|
51
|
+
> `get_bank_reconciliation_report` con `excel_output`, `get_cash_flow`, drafts, cierre mensual)
|
|
52
|
+
> usan `~/mcp-venv/bin/python3` con `openpyxl`. Setup:
|
|
53
|
+
> `python3 -m venv ~/mcp-venv && ~/mcp-venv/bin/pip install openpyxl`.
|
|
54
|
+
> El resto de los tools funciona sin esto.
|
|
55
|
+
|
|
44
56
|
### Local Development
|
|
45
57
|
|
|
46
58
|
```bash
|
|
@@ -52,111 +64,268 @@ cp .env.example .env
|
|
|
52
64
|
npm start
|
|
53
65
|
```
|
|
54
66
|
|
|
55
|
-
## Tools (
|
|
67
|
+
## Tools (59)
|
|
56
68
|
|
|
57
|
-
|
|
69
|
+
_Sección generada por `scripts/generate-tools-doc.mjs` — no editar a mano._
|
|
70
|
+
_Regenerar con: `node scripts/generate-tools-doc.mjs --write`_
|
|
58
71
|
|
|
59
|
-
|
|
60
|
-
Detailed expense analysis by category with account-level detail and benchmark comparisons.
|
|
61
|
-
- Params: `stores`, `period`, `month`, `start_date`, `end_date`
|
|
62
|
-
|
|
63
|
-
#### get_efficiency_ratios
|
|
64
|
-
Financial ratios: expense-to-income, payroll, rent, utilities, marketing, operating margin.
|
|
65
|
-
- Params: `stores`, `period`, `month`, `start_date`, `end_date`
|
|
72
|
+
### Expense Analysis & Core (11 tools)
|
|
66
73
|
|
|
67
74
|
#### compare_stores
|
|
68
|
-
|
|
75
|
+
Compara la eficiencia de gastos entre las tiendas de Full Queso (FQ01 Chacao, FQ28 Marqués, FQ88 Candelaria, FQYK City Market).
|
|
69
76
|
- Params: `period`, `month`, `start_date`, `end_date`
|
|
70
77
|
|
|
71
78
|
#### detect_anomalies
|
|
72
|
-
|
|
73
|
-
- Params: `
|
|
79
|
+
Detecta anomalías en los gastos operacionales de Full Queso: gastos por encima de benchmarks, incrementos inusuales vs periodo anterior, concentración excesiva en una cuenta, y alertas de margen.
|
|
80
|
+
- Params: `period`, `month`, `start_date`, `end_date`, `stores`, `sensitivity`
|
|
74
81
|
|
|
75
|
-
####
|
|
76
|
-
|
|
77
|
-
- Params: `store
|
|
82
|
+
#### get_account_transactions
|
|
83
|
+
Listado completo de transacciones para una cuenta contable específica con balance running y nombre de proveedor.
|
|
84
|
+
- Params: `account_number`*, `store`*, `start_date`*, `end_date`*
|
|
85
|
+
|
|
86
|
+
#### get_crm_rate
|
|
87
|
+
Obtiene la tasa de cambio Bs/USD desde el CRM de Full Queso (hora Caracas).
|
|
88
|
+
- Params: `coin`*, `date`
|
|
89
|
+
|
|
90
|
+
#### get_efficiency_ratios
|
|
91
|
+
Calcula ratios de eficiencia financiera de Full Queso: gastos/ingresos, nómina/ingresos, alquiler/ingresos, servicios/ingresos, marketing/ingresos y margen operativo.
|
|
92
|
+
- Params: `period`, `month`, `start_date`, `end_date`, `stores`
|
|
93
|
+
|
|
94
|
+
#### get_exchange_rate
|
|
95
|
+
Obtiene la tasa de cambio USD → VES desde Business Central.
|
|
96
|
+
- Params: `store`*, `date`, `start_date`, `end_date`
|
|
78
97
|
|
|
79
|
-
|
|
98
|
+
#### get_expense_analysis
|
|
99
|
+
Análisis detallado de gastos operacionales de Full Queso por categoría (nómina, alquiler, servicios, marketing, etc.) con números de cuenta específicos.
|
|
100
|
+
- Params: `period`, `month`, `start_date`, `end_date`, `stores`
|
|
80
101
|
|
|
81
102
|
#### get_expense_details
|
|
82
|
-
|
|
83
|
-
- Params: `store
|
|
103
|
+
Drill-down de transacciones individuales de gastos operacionales.
|
|
104
|
+
- Params: `store`*, `period`, `month`, `start_date`, `end_date`, `category`, `account_number`, `min_amount`, `vendor_search`, `limit`, `offset`
|
|
84
105
|
|
|
85
|
-
####
|
|
86
|
-
|
|
87
|
-
- Params: `
|
|
106
|
+
#### get_trends
|
|
107
|
+
Análisis de tendencias históricas de gastos e ingresos de Full Queso.
|
|
108
|
+
- Params: `months`, `store`
|
|
88
109
|
|
|
89
110
|
#### get_vendor_transactions
|
|
90
|
-
|
|
91
|
-
- Params: `store
|
|
111
|
+
Todas las transacciones de gastos operacionales de un proveedor específico.
|
|
112
|
+
- Params: `store`*, `vendor_search`*, `start_date`*, `end_date`*
|
|
92
113
|
|
|
93
114
|
#### list_vendors
|
|
94
|
-
|
|
95
|
-
- Params: `store
|
|
115
|
+
Lista todos los proveedores activos de una tienda en un periodo, con monto total pagado y número de transacciones.
|
|
116
|
+
- Params: `store`*, `start_date`, `end_date`
|
|
96
117
|
|
|
97
|
-
###
|
|
118
|
+
### Auditoría / POS Reconciliation (11 tools)
|
|
98
119
|
|
|
99
|
-
|
|
120
|
+
#### find_potential_matches
|
|
121
|
+
Para una línea no conciliada del banco, busca posibles correspondencias en las entradas contables de BC por monto, fecha y descripción.
|
|
122
|
+
- Params: `store`*, `bank_account`*, `statement_amount`*, `transaction_date`*, `description`, `date_tolerance_days`, `amount_tolerance_pct`
|
|
100
123
|
|
|
101
|
-
####
|
|
102
|
-
|
|
103
|
-
- Params: `store`
|
|
124
|
+
#### get_bank_ledger_entries
|
|
125
|
+
Todos los movimientos del libro de banco (abiertos y cerrados) para una cuenta bancaria.
|
|
126
|
+
- Params: `store`*, `bank_account`*, `date_from`*, `date_to`*, `open_only`
|
|
127
|
+
|
|
128
|
+
#### get_bank_reconciliation_report
|
|
129
|
+
Reporte consolidado de reconciliación bancaria: progreso de todos los statements abiertos, líneas no conciliadas (débitos y créditos por separado), y sugerencias de asientos contables para débitos.
|
|
130
|
+
- Params: `store`*, `bank_account`*, `statement_no`, `month`, `min_amount`, `include_suggestions`, `save_to_file`, `excel_output`
|
|
131
|
+
|
|
132
|
+
#### get_gl_account_entries
|
|
133
|
+
Movimientos del libro mayor (G/L) para una cuenta específica.
|
|
134
|
+
- Params: `store`*, `gl_account`*, `date_from`*, `date_to`*
|
|
135
|
+
|
|
136
|
+
#### get_pm_receipts
|
|
137
|
+
Recibos de Pago Móvil (PM) registrados en BC para una cuenta bancaria.
|
|
138
|
+
- Params: `store`*, `bank_account`*, `date_from`*, `date_to`*
|
|
104
139
|
|
|
105
140
|
#### get_reconciliation_status
|
|
106
|
-
|
|
107
|
-
- Params: `store
|
|
141
|
+
Resumen del estado de reconciliaciones bancarias abiertas: total líneas, conciliadas, pendientes y diferencia.
|
|
142
|
+
- Params: `store`*, `bank_account`
|
|
143
|
+
|
|
144
|
+
#### get_unmatched_ledger_entries
|
|
145
|
+
Entradas contables del banco en BC sin correspondencia en el estado de cuenta.
|
|
146
|
+
- Params: `store`*, `bank_account`*, `date_from`, `date_to`
|
|
108
147
|
|
|
109
148
|
#### get_unmatched_statement_lines
|
|
110
|
-
|
|
111
|
-
- Params: `store
|
|
149
|
+
Líneas del estado de cuenta bancario NO conciliadas con entradas en BC.
|
|
150
|
+
- Params: `store`*, `bank_account`*, `statement_no`, `min_amount`, `type_filter`
|
|
112
151
|
|
|
113
|
-
####
|
|
114
|
-
|
|
115
|
-
- Params: `store
|
|
152
|
+
#### list_bank_accounts
|
|
153
|
+
Lista las cuentas bancarias de una tienda Full Queso.
|
|
154
|
+
- Params: `store`*
|
|
116
155
|
|
|
117
|
-
####
|
|
118
|
-
|
|
119
|
-
- Params: `store
|
|
156
|
+
#### reconcile_pos_sales
|
|
157
|
+
Conciliación automática de ventas POS: cruza montos bancarios de BC (BankAccountLedgerEntries) con liquidaciones bancarias por número de lote, agrupa por liquidación bancaria (settlement batches), calcula comisiones reales.
|
|
158
|
+
- Params: `store`*, `start_date`*, `end_date`*, `bank_account`
|
|
120
159
|
|
|
121
160
|
#### suggest_journal_entries
|
|
122
|
-
|
|
123
|
-
- Params: `store
|
|
161
|
+
Para pagos del banco sin correspondencia en BC, sugiere asientos contables basándose en la descripción y patrones históricos.
|
|
162
|
+
- Params: `store`*, `bank_account`*, `statement_no`, `auto_categorize`
|
|
124
163
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
-
|
|
130
|
-
- **UBII**: cross-account matching (BC virtual account → Bancrecer/BDV deposits)
|
|
131
|
-
- Params: `store` (req), `start_date` (req), `end_date` (req), `bank_account`
|
|
164
|
+
### Cierre Mensual Bancario (6 tools)
|
|
165
|
+
|
|
166
|
+
#### generate_closing_journal
|
|
167
|
+
Genera el EXCEL del CIERRE MENSUAL bancario (mes completo, multi-banco).
|
|
168
|
+
- Params: `store`*, `month`*, `output_dir`, `allow_partial`, `strict`
|
|
132
169
|
|
|
133
|
-
|
|
170
|
+
#### get_closing_match_results
|
|
171
|
+
CIERRE MENSUAL bancario: vista paginada de las 4 listas con auto-clasificación.
|
|
172
|
+
- Params: `store`*, `month`*, `list`, `bank_account`, `category`, `source`, `confidence`, `min_abs_amount_ves`, `sort`, `limit`, `offset`
|
|
134
173
|
|
|
135
|
-
|
|
174
|
+
#### get_closing_questionnaire
|
|
175
|
+
CIERRE MENSUAL bancario: vista paginada/filtrada de las entradas del cuestionario del MES.
|
|
176
|
+
- Params: `store`*, `month`*, `bucket`, `counterparty_no`, `bank_account`, `status_filter`, `min_abs_amount_ves`, `min_abs_amount_usd`, `limit`, `offset`, `sort`, `pair_by_amount`, `pair_tolerance_pct`, `pair_max_days`, `description_regex`
|
|
177
|
+
|
|
178
|
+
#### reconcile_closing_with_bc
|
|
179
|
+
CIERRE MENSUAL bancario: refresca el estado contra BC para detectar drift desde la última corrida.
|
|
180
|
+
- Params: `store`*, `month`*
|
|
181
|
+
|
|
182
|
+
#### start_month_closing
|
|
183
|
+
CIERRE MENSUAL bancario (mes completo, multi-banco) en Business Central.
|
|
184
|
+
- Params: `store`*, `month`, `force_refresh`
|
|
185
|
+
|
|
186
|
+
#### submit_closing_answers
|
|
187
|
+
CIERRE MENSUAL bancario: registra respuestas/aprobaciones al cuestionario del MES.
|
|
188
|
+
- Params: `store`*, `month`*, `user`, `answers`*
|
|
189
|
+
|
|
190
|
+
### Cobranzas (AR / AP) (7 tools)
|
|
191
|
+
|
|
192
|
+
#### get_collection_status
|
|
193
|
+
Verificación rápida del estado de cobranza de un período específico.
|
|
194
|
+
- Params: `store`*, `start_date`*, `end_date`*
|
|
136
195
|
|
|
137
196
|
#### get_customer_balances
|
|
138
|
-
|
|
139
|
-
- Params: `store
|
|
197
|
+
Lista clientes con saldos pendientes, montos vencidos y estado de cobranza.
|
|
198
|
+
- Params: `store`*, `only_with_balance`, `customer_number`
|
|
140
199
|
|
|
141
200
|
#### get_customer_ledger
|
|
142
|
-
|
|
143
|
-
- Params: `store
|
|
201
|
+
Movimientos del libro mayor de clientes: facturas emitidas, pagos recibidos, notas de crédito.
|
|
202
|
+
- Params: `store`*, `start_date`*, `end_date`*, `customer_number`, `document_type`, `open_only`
|
|
144
203
|
|
|
145
|
-
####
|
|
146
|
-
|
|
147
|
-
- Params: `store
|
|
204
|
+
#### get_customer_list
|
|
205
|
+
Lista de clientes con número, nombre y RIF (taxRegistrationNumber).
|
|
206
|
+
- Params: `store`*, `customer_number`
|
|
148
207
|
|
|
149
|
-
####
|
|
150
|
-
|
|
151
|
-
- Params: `store`
|
|
208
|
+
#### get_open_payables
|
|
209
|
+
Resumen de todas las cuentas por pagar abiertas.
|
|
210
|
+
- Params: `store`*, `as_of_date`, `vendor_number`, `min_amount`
|
|
211
|
+
|
|
212
|
+
#### get_open_receivables
|
|
213
|
+
Resumen rápido de todas las cuentas por cobrar abiertas.
|
|
214
|
+
- Params: `store`*, `as_of_date`, `customer_number`, `min_amount`
|
|
152
215
|
|
|
153
216
|
#### get_vendor_ledger
|
|
154
|
-
|
|
155
|
-
- Params: `store
|
|
217
|
+
Movimientos del libro mayor de proveedores: facturas recibidas, pagos realizados, notas de crédito.
|
|
218
|
+
- Params: `store`*, `start_date`*, `end_date`*, `vendor_number`, `document_type`, `open_only`
|
|
156
219
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
220
|
+
### Financial Statements & Cash Flow (3 tools)
|
|
221
|
+
|
|
222
|
+
#### get_cash_flow
|
|
223
|
+
Free Cash Flow (FCF) por método indirecto para una o más tiendas Full Queso (FQ01, FQ28, FQ88).
|
|
224
|
+
- Params: `stores`, `period`, `month`, `start_date`, `end_date`, `compare_previous`, `include_cash_position`, `render_html`, `output_path`, `open_browser`, `inline_html`
|
|
225
|
+
|
|
226
|
+
#### get_financial_statements
|
|
227
|
+
Estado financiero completo (P&L / Profit & Loss) para una o más tiendas Full Queso (FQ01, FQ28, FQ88, FQFR) en un período.
|
|
228
|
+
- Params: `stores`, `period`, `month`, `start_date`, `end_date`, `render_html`, `compare_previous`, `output_path`, `open_browser`, `inline_html`
|
|
229
|
+
|
|
230
|
+
#### get_income_statement
|
|
231
|
+
Estado de resultados (Income Statement) en el formato EXACTO del reporte Power BI "Income Statement by Month" (G/L Account Level 1) para una tienda Full Queso (FQ01, FQ28, FQ88) y un mes.
|
|
232
|
+
- Params: `store`, `stores`, `period`, `month`, `start_date`, `end_date`, `level`
|
|
233
|
+
|
|
234
|
+
### Inventario (7 tools)
|
|
235
|
+
|
|
236
|
+
#### get_inventory_by_location
|
|
237
|
+
Inventario desglosado por ubicación (Location Code) dentro de una tienda.
|
|
238
|
+
- Params: `store`*, `location_code`, `item_category`, `classification`, `as_of_date`
|
|
239
|
+
|
|
240
|
+
#### get_inventory_change
|
|
241
|
+
Cambio de inventario WoW (semana) o MoM (mes).
|
|
242
|
+
- Params: `store`*, `period`*, `periods_back`, `item_category`, `classification`
|
|
243
|
+
|
|
244
|
+
#### get_inventory_levels
|
|
245
|
+
Niveles de inventario agrupados por itemCategoryCode y/o inventoryPostingGroupCode (congelados, importado, local).
|
|
246
|
+
- Params: `store`*, `item_category`, `classification`, `as_of_date`
|
|
247
|
+
|
|
248
|
+
#### get_item_card
|
|
249
|
+
Datos maestros de ítems de inventario: unitCost (BC), calculated_unit_cost (real desde últimas entradas), inventory qty, unitPrice, categoría.
|
|
250
|
+
- Params: `store`*, `item_number`, `item_search`, `item_category`
|
|
251
|
+
|
|
252
|
+
#### get_item_cost_analysis
|
|
253
|
+
Análisis de costo de un ítem — calcula costo promedio ponderado de entradas recientes (compras, ensamblaje, ajustes positivos), compara con el unitCost actual de BC, y muestra el historial de costos por mes.
|
|
254
|
+
- Params: `store`*, `item_number`*, `months`
|
|
255
|
+
|
|
256
|
+
#### get_item_cost_trend
|
|
257
|
+
Tendencia de costo de ítems: compara weighted avg inbound cost de últimas 2 semanas vs últimas 4 semanas.
|
|
258
|
+
- Params: `store`*, `item_number`, `item_category`, `period_days`
|
|
259
|
+
|
|
260
|
+
#### get_item_ledger_entries
|
|
261
|
+
Entradas del libro de artículos (Item Ledger Entries) — historial de movimientos de inventario con costo real por entrada.
|
|
262
|
+
- Params: `store`*, `item_number`*, `entry_type`, `start_date`, `end_date`, `top`
|
|
263
|
+
|
|
264
|
+
### Draft Visibility (Multi-Payments + facturas sin postear) (4 tools)
|
|
265
|
+
|
|
266
|
+
#### get_draft_payables
|
|
267
|
+
Muestra facturas de compra abiertas clasificadas en tres niveles: totalmente pendientes (sin documento de pago), con Purch.
|
|
268
|
+
- Params: `store`*, `status_filter`, `vendor_number`, `include_lines`, `report`, `summary_only`, `save_to_file`, `excel_output`
|
|
269
|
+
|
|
270
|
+
#### get_draft_receivables
|
|
271
|
+
Muestra facturas de venta abiertas clasificadas en tres niveles: totalmente pendientes (sin documento de cobro), con Multi-Payment en borrador (Open o Transferred), y el monto neto realmente sin cubrir.
|
|
272
|
+
- Params: `store`*, `status_filter`, `customer_number`, `include_lines`, `report`, `summary_only`, `save_to_file`, `excel_output`
|
|
273
|
+
|
|
274
|
+
#### get_draft_summary
|
|
275
|
+
Resumen ejecutivo consolidado de todos los Multi-Payments en borrador (Open y Transferred) para una o todas las tiendas.
|
|
276
|
+
- Params: `store`*
|
|
277
|
+
|
|
278
|
+
#### get_unposted_invoices
|
|
279
|
+
Facturas de compra y/o venta SIN POSTEAR en Business Central (status Draft o In Review).
|
|
280
|
+
- Params: `store`*, `type`, `start_date`, `end_date`, `include_in_review`, `summary_only`
|
|
281
|
+
|
|
282
|
+
### Nómina (4 tools)
|
|
283
|
+
|
|
284
|
+
#### get_employees
|
|
285
|
+
Lista empleados de una tienda con datos de nomina: tipo, status, salarios base, bonos predeterminados, fechas.
|
|
286
|
+
- Params: `store`*, `status`, `payroll_type`, `exclude_managerial`, `employee_search`, `employee_code`
|
|
287
|
+
|
|
288
|
+
#### get_payroll_documents
|
|
289
|
+
Lista documentos de nomina (headers) con filtros por periodo, tipo, status.
|
|
290
|
+
- Params: `store`*, `period_code`, `payroll_type`, `exclude_managerial`, `status`, `start_date`, `end_date`, `include_employee_count`, `summary_only`
|
|
291
|
+
|
|
292
|
+
#### get_payroll_lines
|
|
293
|
+
Detalle de nomina por empleado para un documento.
|
|
294
|
+
- Params: `store`*, `document_no`*, `employee_code`, `employee_search`
|
|
295
|
+
|
|
296
|
+
#### get_payroll_payments
|
|
297
|
+
Documentos de PAGO de nómina (tabla separada de la obligación) con sus líneas por empleado.
|
|
298
|
+
- Params: `store`*, `payroll_document_no`, `payment_no`, `status`, `include_lines`
|
|
299
|
+
|
|
300
|
+
### Reports (2 tools)
|
|
301
|
+
|
|
302
|
+
#### generate_cxp_report
|
|
303
|
+
Genera reporte Excel de Cuentas por Pagar con 3 hojas: Sin Draft, Draft No Posteado, Pago Parcial + hoja Resumen con desglose por proveedor.
|
|
304
|
+
- Params: `store`*, `output_path`
|
|
305
|
+
|
|
306
|
+
#### generate_manager_report
|
|
307
|
+
Genera el Reporte Gerente HTML completo para una tienda FQ.
|
|
308
|
+
- Params: `store`*, `date`, `output_path`, `open_browser`, `payroll_days`
|
|
309
|
+
|
|
310
|
+
### Ventas (4 tools)
|
|
311
|
+
|
|
312
|
+
#### compare_sales_by_store
|
|
313
|
+
Comparación de rendimiento de VENTAS entre las tiendas de Full Queso (FQ01 Chacao, FQ28 Marqués, FQ88 Candelaria, FQYK City Market).
|
|
314
|
+
- Params: `period`, `month`, `start_date`, `end_date`, `metrics`
|
|
315
|
+
|
|
316
|
+
#### get_item_sales_detail
|
|
317
|
+
Detalle de ventas por ítem específico (1–50 SKUs) con granularidad día/semana/mes/total y desglose por tienda.
|
|
318
|
+
- Params: `items`*, `start_date`*, `end_date`*, `stores`, `granularity`, `include_zero_days`
|
|
319
|
+
|
|
320
|
+
#### get_product_performance
|
|
321
|
+
Análisis detallado de rendimiento de productos de Full Queso.
|
|
322
|
+
- Params: `period`, `month`, `start_date`, `end_date`, `stores`, `sort_by`, `top_n`
|
|
323
|
+
|
|
324
|
+
#### get_sales_analysis
|
|
325
|
+
Análisis multidimensional de ventas de Full Queso.
|
|
326
|
+
- Params: `period`, `month`, `start_date`, `end_date`, `stores`, `dimensions`, `metrics`
|
|
327
|
+
|
|
328
|
+
_Los params marcados con `*` son requeridos. Detalle completo en `docs/tool_*.md`._
|
|
160
329
|
|
|
161
330
|
## API Integrations
|
|
162
331
|
|