The accounting endpoints cover the full lifecycle of bank statement data in Marbes: uploading a raw bank Excel file and transforming it into a double-entry accounting format, persisting movements to the database, querying balances over a date range, and revaluing all fund positions at the current BCV rate. Every request must include a validDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/scoria02/marbes2021_backend/llms.txt
Use this file to discover all available pages before exploring further.
Authorization: Bearer <token> header.
Generate account statement from database
Method:GETPath:
/api/conta/estadoscuentaAuthentication: Bearer JWT required Queries bank movements stored in the database for a given date range, applies correlative numbering, and returns a ready-to-download
.xlsx file formatted for double-entry bookkeeping. The file is streamed directly in the response body and deleted from the server once the download is complete.
Query parameters
Start date for the report in
YYYY-MM-DD format. Example: 2025-05-01.End date for the report in
YYYY-MM-DD format. Example: 2025-05-31.Starting correlative number for the generated voucher entries. Each movement increments this number by one.
Response
On success the server responds with an Excel file attachment:Fecha, Nº Comp., Cod. Cuenta, Cuenta, Descripción de la Cuenta, Debe, Haber. Each movement produces two rows (a complete double-entry voucher).
Examples
Error responses
400
401
Process bank Excel statement
Method:POSTPath:
/api/conta/estadoscuentaAuthentication: Bearer JWT required
Content-Type:
multipart/form-data
Accepts a raw bank-exported Excel file, parses it according to the specified bank’s column layout, and transforms each movement into a double-entry accounting entry. The processed file is returned as a downloadable .xlsx attachment and then automatically deleted from the server.
Only Banco de Venezuela is fully implemented. Uploading a file for any other bank returns a
400 response with an informational message. Support for Banco Mercantil, Banesco, Banco Provincial, and others is planned.Body parameters (multipart/form-data)
Excel file (
.xls or .xlsx) exported from the bank. The field name can be archivo, file, or excel — the middleware accepts any name. Maximum size: 15 MB. The file must contain a sheet named data with the columns expected for the specified bank.Name of the bank that generated the statement. Must match exactly. Example:
Banco de Venezuela.Starting correlative number for voucher entries. Must be a non-negative integer. Example:
6452.Input file format (Banco de Venezuela)
The sheet nameddata must contain the following columns:
| Column | Description | Example |
|---|---|---|
fecha | Transaction date | 01/05/2025 |
referencia | Reference number | 0120200000653 |
concepto | Transaction description | COM MANTENIMIENTO DE CUENTA |
saldo | Running balance | 97,45 |
monto | Amount (positive = credit, negative = debit) | -0,50 |
tipoMovimiento | Movement type | Nota de Débito |
rif | Company tax ID | J404358226 |
numeroCuenta | Account number | 01020135750000115296 |
tipoMovimiento = Saldo Inicial and rows with monto = 0 are excluded automatically.
Output file format
Each movement produces two rows following double-entry rules:- Credit movement (monto > 0): Row 1 — bank account in
Debe(code111210, nameBANCO DE VENEZUELA); Row 2 — counterpart inHaber(empty account). - Debit movement (monto < 0): Row 1 — counterpart in
Debe(empty account); Row 2 — bank account inHaber(code111210).
. (period); decimal separator is , (comma).
Response
On success the server responds with:Examples
Error responses
400 — banco not implemented
400 — missing file
400 — missing banco field
400 — invalid numero
401
Save bank movements to database
Method:POSTPath:
/api/conta/movimientos-bancoAuthentication: Bearer JWT required
Content-Type:
multipart/form-data
Parses the uploaded bank Excel file and persists the movements to the database without generating an output file. Existing movements for the same bank and date range are replaced. Returns counts of inserted and deleted records.
Body parameters (multipart/form-data)
Excel file (
.xls or .xlsx) from the bank. Maximum size: 15 MB.Bank name. Example:
Banco de Venezuela.Optional opening balance to associate with the imported movements.
Response fields
true when movements were saved successfully.Human-readable result summary.
Number of movements inserted into the database.
Number of existing movements deleted before the insert (replaced records).
Examples
Success response
200
Get bank movements by date
Method:GETPath:
/api/conta/movimientos-bancoAuthentication: Bearer JWT required Returns all bank movements stored in the database for a specific date.
Query parameters
Target date in
YYYY-MM-DD format. Example: 2025-05-14.Response fields
true on success.The queried date, echoed back.
Total number of movements returned.
Array of movement records for the date.
Examples
Success response
200
Get balances by date range
Method:GETPath:
/api/conta/saldosAuthentication: Bearer JWT required Returns the balance for each bank calculated over a date range, based on movements stored in the database.
Query parameters
Start date in
YYYY-MM-DD format.End date in
YYYY-MM-DD format.Response fields
true on success.Start date echoed back.
End date echoed back.
Number of banks with movements in the queried range.
Array of balance summaries, one entry per bank.
Examples
Success response
200
Revalue funds at current BCV rate
Method:GETPath:
/api/conta/revaluar-fondosAuthentication: Bearer JWT required Fetches the current official BCV (Banco Central de Venezuela) exchange rate and recalculates the USD/VES equivalent for all fund positions (TCOLs, bank movements, and TPRODs). The update applies different revaluation logic depending on the fund’s origin.
Response fields
true on success.The BCV exchange rate (VES per USD) that was applied in this revaluation.
Number of TCOL records updated.
Number of fund movement records updated.
Number of TPROD records updated.
Sum of all updated records across all types.
List of error messages for individual records that could not be revalued. Empty array when all updates succeed.
true if at least one record produced an error during revaluation.Examples
Success response
200
500