Saltar al contenido principal

kobana billing invoices

Comandos de kobana billing invoices. Toda opción global (Opciones globales) vale aquí.

ComandoHTTPDescripción
invoices installmentsGET /v1/invoices/{id}/installmentsListar parcelas de la factura
invoices installments createPOST /v1/invoices/{id}/installmentsCrear/actualizar cronograma de parcelas
invoices installments mark-paidPOST /v1/invoices/{id}/installments/{installment_id}/mark-paidMarcar parcela como pagada
invoices installments payPOST /v1/invoices/{id}/installments/{installment_id}/payPagar parcela
invoices pending-nfeGET /v1/invoices/pending-nfeListar facturas con NF-e pendiente
invoices pending-paymentGET /v1/invoices/pending-paymentListar facturas con pago pendiente
invoices listGET /v1/invoicesListar facturas
invoices createPOST /v1/invoicesCrear factura
invoices updatePUT /v1/invoicesCrear o actualizar factura
invoices getGET /v1/invoices/{id}Obtener factura
invoices deleteDELETE /v1/invoices/{id}Eliminar factura
invoices apply-creditsPOST /v1/invoices/{id}/apply-creditsAplicar créditos a la factura
invoices finalizePOST /v1/invoices/{id}/finalizeFinalizar factura
invoices issue-nfePOST /v1/invoices/{id}/issue-nfeEmitir NF-e para la factura
invoices payPOST /v1/invoices/{id}/payPagar factura
invoices payment-methodsGET /v1/invoices/{id}/payment-methodsListar métodos de pago disponibles
invoices pdfGET /v1/invoices/{id}/pdfDescargar PDF de la factura
invoices remove-creditsPOST /v1/invoices/{id}/remove-creditsEliminar créditos aplicados
invoices send-reminderPOST /v1/invoices/{id}/send-reminderEnviar recordatorio de cobro
invoices undo-paymentPOST /v1/invoices/{id}/undo-paymentDeshacer pago de la factura
invoices voidPOST /v1/invoices/{id}/voidCancelar (void) factura

invoices installments​

Listar parcelas de la factura

kobana billing invoices installments [ID] [OPCIONES] [COMANDO]

GET /v1/invoices/{id}/installments

Argumentos de la ruta: id

Respuestas

HTTPDescripción
200Lista de parcelas.
404Recurso no encontrado en la organización actual.

invoices installments create​

Crear/actualizar cronograma de parcelas

kobana billing invoices installments create [ID] [OPCIONES]

POST /v1/invoices/{id}/installments

Crea o reemplaza el cronograma de parcelas de la factura. Mínimo de 2 parcelas.

Argumentos de la ruta: id

Cuerpo de la solicitud

NombreTipoObligatorioDescripción
installmentsarray<object>síLista de parcelas. Mínimo 2.

Otros campos y objetos anidados: kobana schema billing.invoices.installments.create.

Respuestas

HTTPDescripción
201Cronograma de parcelas creado.
400El cuerpo de la solicitud falló en la validación.
404Recurso no encontrado en la organización actual.
422El cuerpo de la solicitud falló en la validación.

invoices installments mark-paid​

Marcar parcela como pagada

kobana billing invoices installments mark-paid [ID] [INSTALLMENT_ID] [OPCIONES]

POST /v1/invoices/{id}/installments/{installment_id}/mark-paid

Marca manualmente una parcela como pagada (reconciliación, sin llamada al gateway).

Argumentos de la ruta: id, installment_id

Respuestas

HTTPDescripción
200Parcela marcada como pagada.
404Recurso no encontrado en la organización actual.

invoices installments pay​

Pagar parcela

kobana billing invoices installments pay [ID] [INSTALLMENT_ID] [OPCIONES]

POST /v1/invoices/{id}/installments/{installment_id}/pay

Procesa el pago de una parcela vía gateway. La parcela anterior debe estar pagada.

Argumentos de la ruta: id, installment_id

Cuerpo de la solicitud

NombreTipoObligatorioDescripción
payment_methodstringsíCuando se informa, dispara el gateway (pix, bank_slip o card) o crea un cobro por transferencia (bank_transfer, exige bank_account_id o pix_key_id). Omite para marcar como pagada manualmente. Valores: pix, bank_slip, card, bank_transfer.
payment_method_idstring (uuid)noUUID de un método de pago guardado (ej.: tarjeta tokenizada).
cardobjectnoDatos de la tarjeta cuando payment_method = card y no hay payment_method_id.
bank_account_idstring (uuid)noCon payment_method = bank_transfer: UUID de la cuenta bancaria de la organización a la que el cliente debe transferir (vea /bank_accounts). Informe este o pix_key_id, nunca los dos.
pix_key_idstring (uuid)noCon payment_method = bank_transfer: UUID de la clave Pix de la organización a la que el cliente debe transferir (vea /pix_keys). Informe este o bank_account_id, nunca los dos.

Otros campos y objetos anidados: kobana schema billing.invoices.installments.pay.

Respuestas

HTTPDescripción
200Resultado del pago de la parcela.
400El cuerpo de la solicitud falló en la validación.
404Recurso no encontrado en la organización actual.
422El cuerpo de la solicitud falló en la validación.

invoices pending-nfe​

Listar facturas con NF-e pendiente

kobana billing invoices pending-nfe [OPCIONES]

GET /v1/invoices/pending-nfe

Devuelve facturas pagadas pero con emisión de NF-e pendiente — sin NF-e, o con NF-e en estado pending, processing o error.

Parámetros de consulta

NombreTipoObligatorioDescripción
pageintegernoPágina (comienza en 1). Por defecto: 1.
per_pageintegernoÍtems por página. Por defecto: 20. Máximo: 100.
sort_bystringnoCampo de ordenación. El valor por defecto depende del recurso.
sort_orderstringnoDirección de ordenación. Por defecto: desc. Valores: asc, desc.
billing_account_idstringnoFiltra por billing_account_id.

Respuestas

HTTPDescripción
200Lista paginada de facturas con NF-e pendiente.
404Recurso no encontrado en la organización actual.

invoices pending-payment​

Listar facturas con pago pendiente

kobana billing invoices pending-payment [OPCIONES]

GET /v1/invoices/pending-payment

Devuelve facturas finalizadas (status = open) cuya due_date ya pasó.

Parámetros de consulta

NombreTipoObligatorioDescripción
pageintegernoPágina (comienza en 1). Por defecto: 1.
per_pageintegernoÍtems por página. Por defecto: 20. Máximo: 100.
sort_bystringnoCampo de ordenación. El valor por defecto depende del recurso.
sort_orderstringnoDirección de ordenación. Por defecto: desc. Valores: asc, desc.
billing_account_idstringnoFiltra por billing_account_id.

Respuestas

HTTPDescripción
200Lista paginada de facturas con pago pendiente.
404Recurso no encontrado en la organización actual.

invoices list​

Listar facturas

kobana billing invoices list [OPCIONES]

GET /v1/invoices

Devuelve una lista paginada de las facturas de la organización actual.

Parámetros de consulta

NombreTipoObligatorioDescripción
pageintegernoPágina (comienza en 1). Por defecto: 1.
per_pageintegernoÍtems por página. Por defecto: 20. Máximo: 100.
sort_bystringnoCampo de ordenación. El valor por defecto depende del recurso.
sort_orderstringnoDirección de ordenación. Por defecto: desc. Valores: asc, desc.
statusstringnoFiltra por estado: draft, open, paid, void o uncollectible. Valores: draft, open, paid, void, uncollectible.
billing_account_idstringnoFiltra por billing_account_id.
company_idstringnoFiltra por company_id emisor.
subscription_idstringnoFiltra por subscription_id de origen.
due_date_fromstringnoFiltra por due_date inicial (inclusive).
due_date_tostringnoFiltra por due_date final (inclusive).
date_fromstringnoFiltra por created_at inicial (inclusive).
date_tostringnoFiltra por created_at final (inclusive).
searchstringnoBúsqueda textual libre.
total_minnumber,nullnoFiltra por valor total mínimo, en BRL (float, hasta 4 decimales).
total_maxnumber,nullnoFiltra por valor total máximo, en BRL (float, hasta 4 decimales).
document_numberstringnoFiltra por CPF/CNPJ del cliente.
without_paymentsstringnoCuando es true, devuelve solo facturas sin pagos asociados. Valores: true, false.
plan_filterstringnoFiltra por origen: all, with_plan (con suscripción) o without_plan (suelta). Valores: all, with_plan, without_plan.

Respuestas

HTTPDescripción
200Lista paginada de facturas.
404Recurso no encontrado en la organización actual.

invoices create​

Crear factura

kobana billing invoices create [OPCIONES]

POST /v1/invoices

Crea una factura para una cuenta de cobro. Acepta ítems de línea, parcelas opcionales (installments, mínimo 2) y política de emisión de NF-e.

Cuerpo de la solicitud

NombreTipoObligatorioDescripción
billing_account_idstring (uuid)síUUID de la cuenta de cobro destino. Obligatorio.
line_itemsarray<object>síÍtems de línea. Mínimo 1.
external_idstringnoIdentificador en su sistema externo, para idempotencia/sincronización.
company_idstring (uuid)noUUID de la empresa emisora. Por defecto: empresa por defecto de la organización.
subscription_idstring (uuid)noUUID de la suscripción de origen.
product_group_idstring (uuid)noUUID del grupo de productos.
collection_methodstringnoMétodo de cobro. Por defecto: manual_invoice. Valores: charge_automatically, manual_charge, manual_invoice.
due_datestringnoFecha de vencimiento. Por defecto: hoy + payment_terms_days de la cuenta.
descriptionstringnoDescripción libre mostrada al inicio de la factura.
footerstringnoPie libre mostrado al final de la factura.
discountnumbernoDescuento fijo en BRL.
discount_descriptionstringnoDescripción del descuento (ej.: "Descuento por pago anual (20%)").
installmentsarray<object>noCronograma de parcelas (mínimo 2). Cada ítem tiene amount y due_date.
nfe_issuance_policystringnoPolítica de emisión de NF-e para facturas en cuotas. Valores: disabled, on_finalization, on_full_payment, per_installment.
period_startstringnoInicio del período de competencia (autocompletado en facturas de suscripción).
period_endstringnoFin del período de competencia (autocompletado en facturas de suscripción).
custom_metadataobjectnoCampos personalizados (validados contra el schema de la organización).

Otros campos y objetos anidados: kobana schema billing.invoices.create.

Respuestas

HTTPDescripción
201Factura creada.
400El cuerpo de la solicitud falló en la validación.
404Recurso no encontrado en la organización actual.
422El cuerpo de la solicitud falló en la validación.

invoices update​

Crear o actualizar factura

kobana billing invoices update [OPCIONES]

PUT /v1/invoices

Recibe el mismo cuerpo del POST, más id y public_id, y deduplica por id, public_id, external_id y las claves naturales del recurso, en ese orden, deteniéndose en la primera que encuentre un registro. Si lo encuentra, lo actualiza y responde 200; si no, lo crea y responde 201. Los campos obligatorios del POST solo se exigen cuando no se encuentra ningún registro, y la actualización es parcial.

Cuerpo de la solicitud

NombreTipoObligatorioDescripción
billing_account_idstring (uuid)noUUID de la cuenta de cobro destino. Obligatorio.
external_idstringnoIdentificador en su sistema externo, para idempotencia/sincronización.
company_idstring (uuid)noUUID de la empresa emisora. Por defecto: empresa por defecto de la organización.
subscription_idstring (uuid)noUUID de la suscripción de origen.
product_group_idstring (uuid)noUUID del grupo de productos.
collection_methodstringnoMétodo de cobro. Por defecto: manual_invoice. Valores: charge_automatically, manual_charge, manual_invoice.
due_datestringnoFecha de vencimiento. Por defecto: hoy + payment_terms_days de la cuenta.
descriptionstringnoDescripción libre mostrada al inicio de la factura.
footerstringnoPie libre mostrado al final de la factura.
line_itemsarray<object>noÍtems de línea. Mínimo 1.
discountnumbernoDescuento fijo en BRL.
discount_descriptionstringnoDescripción del descuento (ej.: "Descuento por pago anual (20%)").
installmentsarray<object>noCronograma de parcelas (mínimo 2). Cada ítem tiene amount y due_date.
nfe_issuance_policystringnoPolítica de emisión de NF-e para facturas en cuotas. Valores: disabled, on_finalization, on_full_payment, per_installment.
period_startstringnoInicio del período de competencia (autocompletado en facturas de suscripción).
period_endstringnoFin del período de competencia (autocompletado en facturas de suscripción).
custom_metadataobjectnoCampos personalizados (validados contra el schema de la organización).
idstring (uuid)noUUID del registro. Se usa solo para localizarlo — nunca se guarda.
public_idstring (uuid)noUUID público del registro, usado para localizarlo.

Otros campos y objetos anidados: kobana schema billing.invoices.update.

Respuestas

HTTPDescripción
200Registro actualizado.
201Registro creado.
400El cuerpo de la solicitud falló en la validación.
404Recurso no encontrado en la organización actual.
422El cuerpo de la solicitud falló en la validación.

invoices get​

Obtener factura

kobana billing invoices get [ID] [OPCIONES]

GET /v1/invoices/{id}

Argumentos de la ruta: id

Respuestas

HTTPDescripción
200Detalle de la factura.
404Recurso no encontrado en la organización actual.

invoices delete​

Eliminar factura

kobana billing invoices delete [ID] [OPCIONES]

DELETE /v1/invoices/{id}

Elimina una factura draft, open o void (los créditos aplicados a una factura open vuelven al saldo del cliente). Una factura paid o uncollectible no puede eliminarse — deshaga el pago o anúlela antes.

Argumentos de la ruta: id

Respuestas

HTTPDescripción
200Factura eliminada.
404Recurso no encontrado en la organización actual.

invoices apply-credits​

Aplicar créditos a la factura

kobana billing invoices apply-credits [ID] [OPCIONES]

POST /v1/invoices/{id}/apply-credits

Aplica créditos de la cuenta de cobro en una factura abierta (status = open).

Argumentos de la ruta: id

Cuerpo de la solicitud

NombreTipoObligatorioDescripción
credit_idsarray<string (uuid)>síUUIDs de los créditos a aplicar (mínimo 1).
amountnumbernoValor a aplicar en BRL. Por defecto: cubre toda la factura.

Otros campos y objetos anidados: kobana schema billing.invoices.apply-credits.

Respuestas

HTTPDescripción
200Créditos aplicados.
400El cuerpo de la solicitud falló en la validación.
404Recurso no encontrado en la organización actual.
422El cuerpo de la solicitud falló en la validación.

invoices finalize​

Finalizar factura

kobana billing invoices finalize [ID] [OPCIONES]

POST /v1/invoices/{id}/finalize

Finaliza una factura en borrador (draft → open).

Argumentos de la ruta: id

Respuestas

HTTPDescripción
200Factura finalizada.
404Recurso no encontrado en la organización actual.

invoices issue-nfe​

Emitir NF-e para la factura

kobana billing invoices issue-nfe [ID] [OPCIONES]

POST /v1/invoices/{id}/issue-nfe

Dispara la emisión de la NF-e (Factura Electrónica) para la factura.

Argumentos de la ruta: id

Respuestas

HTTPDescripción
200NF-e en cola/emitida.
404Recurso no encontrado en la organización actual.

invoices pay​

Pagar factura

kobana billing invoices pay [ID] [OPCIONES]

POST /v1/invoices/{id}/pay

Dos modos: (a) cuando se informa payment_method, crea un pago vía gateway (pix, bank_slip o card) y devuelve los artefactos del método (QR code, código de barras o estado de la tarjeta) — o, con bank_transfer, un cobro por transferencia a la cuenta bancaria (bank_account_id) o clave Pix (pix_key_id) de la organización, sin gateway, devolviendo los datos en bank_transfer y quedando pendiente hasta la baja manual; (b) cuando se omite, marca la factura como pagada manualmente (reconciliación).

Argumentos de la ruta: id

Cuerpo de la solicitud

NombreTipoObligatorioDescripción
payment_methodstringnoCuando se informa, dispara el gateway (pix, bank_slip o card) o crea un cobro por transferencia (bank_transfer, exige bank_account_id o pix_key_id). Omite para marcar como pagada manualmente. Valores: pix, bank_slip, card, bank_transfer.
payment_method_idstring (uuid)noUUID de un método de pago guardado (ej.: tarjeta tokenizada).
cardobjectnoDatos de la tarjeta cuando payment_method = card y no hay payment_method_id.
bank_account_idstring (uuid)noCon payment_method = bank_transfer: UUID de la cuenta bancaria de la organización a la que el cliente debe transferir (vea /bank_accounts). Informe este o pix_key_id, nunca los dos.
pix_key_idstring (uuid)noCon payment_method = bank_transfer: UUID de la clave Pix de la organización a la que el cliente debe transferir (vea /pix_keys). Informe este o bank_account_id, nunca los dos.
amountnumbernoValor a cobrar en BRL. Por defecto: valor restante de la factura. Obligatorio cuando se informa installment_ids, y debe ser igual a la suma del net de las parcelas seleccionadas.
installment_idsarray<string (uuid)>noUUIDs de las parcelas que el pago cubre (facturas en cuotas).

Otros campos y objetos anidados: kobana schema billing.invoices.pay.

Respuestas

HTTPDescripción
200Resultado del pago o factura marcada como pagada.
400El cuerpo de la solicitud falló en la validación.
404Recurso no encontrado en la organización actual.
422El cuerpo de la solicitud falló en la validación.

invoices payment-methods​

Listar métodos de pago disponibles

kobana billing invoices payment-methods [ID] [OPCIONES]

GET /v1/invoices/{id}/payment-methods

Lista los métodos de pago disponibles para pagar esta factura, según los gateways activos de la organización y la configuración del portal.

Argumentos de la ruta: id

Respuestas

HTTPDescripción
200Métodos de pago disponibles.
404Recurso no encontrado en la organización actual.

invoices pdf​

Descargar PDF de la factura

kobana billing invoices pdf [ID] [OPCIONES]

GET /v1/invoices/{id}/pdf

Genera y descarga el PDF de la factura como adjunto binario (application/pdf).

Argumentos de la ruta: id

Respuestas

HTTPDescripción
200PDF de la factura.
404Recurso no encontrado en la organización actual.

invoices remove-credits​

Eliminar créditos aplicados

kobana billing invoices remove-credits [ID] [OPCIONES]

POST /v1/invoices/{id}/remove-credits

Elimina todos los créditos aplicados a la factura, devolviéndolos a la cuenta de cobro. Solo funciona en facturas abiertas (status = open).

Argumentos de la ruta: id

Respuestas

HTTPDescripción
200Créditos eliminados.
404Recurso no encontrado en la organización actual.
422El cuerpo de la solicitud falló en la validación.

invoices send-reminder​

Enviar recordatorio de cobro

kobana billing invoices send-reminder [ID] [OPCIONES]

POST /v1/invoices/{id}/send-reminder

Envía por correo un recordatorio de cobro de la factura al billing_email de la cuenta.

Argumentos de la ruta: id

Respuestas

HTTPDescripción
200Recordatorio enviado.
404Recurso no encontrado en la organización actual.

invoices undo-payment​

Deshacer pago de la factura

kobana billing invoices undo-payment [ID] [OPCIONES]

POST /v1/invoices/{id}/undo-payment

Revierte el pago de la factura (paid → open). El motivo (reason) se registra en el audit log.

Argumentos de la ruta: id

Cuerpo de la solicitud

NombreTipoObligatorioDescripción
reasonstringnoMotivo de la reversión (registrado en el audit log).

Otros campos y objetos anidados: kobana schema billing.invoices.undo-payment.

Respuestas

HTTPDescripción
200Pago deshecho.
404Recurso no encontrado en la organización actual.

invoices void​

Cancelar (void) factura

kobana billing invoices void [ID] [OPCIONES]

POST /v1/invoices/{id}/void

Cancela una factura abierta (open → void). El motivo (reason) se registra en el audit log.

Argumentos de la ruta: id

Cuerpo de la solicitud

NombreTipoObligatorioDescripción
reasonstringnoMotivo de la cancelación (registrado en el audit log).

Otros campos y objetos anidados: kobana schema billing.invoices.void.

Respuestas

HTTPDescripción
200Factura cancelada.
404Recurso no encontrado en la organización actual.