Restofy Docs
Gastos del negocio POST

Detalle de un gasto

POST /api/expenses/get-expense

Descripción

Devuelve los datos de un gasto y el detalle de cómo quedó reflejado en las cuentas del negocio.

Detalles

Retorna los datos completos de un gasto junto con el detalle de su impacto en las cuentas del negocio, incluyendo el movimiento de reversión si el gasto fue cancelado. Permite ver tanto el registro original como, si corresponde, el de la cancelación.

Permisos requeridos

reports.module

Request

Nombre Tipo Requerido Reglas
expenseId int Sí
min_value:1

Ejemplo de request

curl -X POST https://restofy.pro/api/expenses/get-expense \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <accessToken>" \
  -d '{
    "expenseId": 1
}'

Los valores son demo: reemplázalos por datos reales del negocio.

Ejemplo de respuesta

Actualizado: 2026-11-02T19:00:57Z
HTTP 200

Request

{
    "expenseId": "1"
}

Response

{
    "success": true,
    "message": "Operación realizada correctamente",
    "data": {
        "expense": {
            "expenseId": 1,
            "createdAt": "2026-11-02T18:33:21.000Z",
            "categoryName": "Papelería y aseo",
            "categoryCode": "exp.manual.office",
            "description": "mantenimiento de la campana por banco",
            "amountCents": 6500,
            "status": "cancelled",
            "cancellationReason": "el proveedor devolvió el pago",
            "cancelledAt": "2026-11-02T18:33:21.000Z",
            "actorName": "App Testing",
            "cancelledByActorName": "App Testing",
            "paidFromName": "Banco general ",
            "journalEntryId": 1,
            "ledgerSessionStatus": null
        },
        "lines": [
            {
                "entryCode": "EXPENSE-20261102-FBC0E0DD",
                "entryType": "expense",
                "description": "Gasto: mantenimiento de la campana por banco",
                "status": "reversed",
                "occurredAt": "2026-11-02T18:33:21.000Z",
                "accountName": "Papelería y aseo",
                "accountCode": "exp.manual.office",
                "debitCents": 6500,
                "creditCents": 0
            },
            {
                "entryCode": "EXPENSE-20261102-FBC0E0DD",
                "entryType": "expense",
                "description": "Gasto: mantenimiento de la campana por banco",
                "status": "reversed",
                "occurredAt": "2026-11-02T18:33:21.000Z",
                "accountName": "Banco general ",
                "accountCode": null,
                "debitCents": 0,
                "creditCents": 6500
            },
            {
                "entryCode": "EXPENSER-20261102-56C287BD",
                "entryType": "expense_reversal",
                "description": "Anulación de gasto: el proveedor devolvió el pago",
                "status": "reversal",
                "occurredAt": "2026-11-02T18:33:21.000Z",
                "accountName": "Papelería y aseo",
                "accountCode": "exp.manual.office",
                "debitCents": 0,
                "creditCents": 6500
            },
            {
                "entryCode": "EXPENSER-20261102-56C287BD",
                "entryType": "expense_reversal",
                "description": "Anulación de gasto: el proveedor devolvió el pago",
                "status": "reversal",
                "occurredAt": "2026-11-02T18:33:21.000Z",
                "accountName": "Banco general ",
                "accountCode": null,
                "debitCents": 6500,
                "creditCents": 0
            }
        ]
    }
}