Skip to main content
Una transacción es cualquier movimiento de dinero. Crear una ajusta el saldo de la(s) cuenta(s) involucrada(s) de forma atómica.

Campos

CampoRequeridoDescripción
descriptionTexto libre (“Café”, “Nómina”).
amountString decimal positivo ("150.50").
dateYYYY-MM-DD.
typeTipo (default expense) — ver abajo.
accountIdCuenta afectada (o fromAccountId/toAccountId en traspasos).
categoryCategoría como ruta "Gastos / Comida / Súper" (0..1; se crea al vuelo si no existe).
memoNota opcional.
iouBloque de deuda (solo tipos IOU, ver abajo).

Tipos

TipoQué esSigno del monto
expenseGasto
incomeIngreso+
transferTraspaso entre tus cuentas (fromAccountIdtoAccountId)neutro
refundReembolso+
shared_bill, paid_for_friend, loan, settlementDeudas (IOU)según el caso
investment_buy, investment_sell, investment_dividend, capital_gain, capital_lossInversionessegún el caso

Traspasos

Un transfer mueve dinero entre tus cuentas: manda fromAccountId y toAccountId. Si son de distinta moneda, incluye exchangeRate (o toAmount) — ver multi-divisa. Los traspasos no cuentan como gasto ni ingreso en los reportes.

Deudas (IOU)

Los tipos IOU llevan un bloque iou que describe quién pagó y quién debe (una sola clave según el tipo: sharedBill, paidForFriend, loan o settlement). Los contactos inexistentes se crean al vuelo. Consulta la posición neta con GET /v1/iou/balances.

Estado y papelera

  • status: completed (default), pending, rejected.
  • Borrar (DELETE) manda a la papelera 30 días revirtiendo el saldo; POST …/{id}/restore la regresa y re-aplica el saldo. La papelera se lista en GET /v1/transactions/trash.
Para no duplicar al reintentar la creación, usa Idempotency-Key.