Saltar al contenido principal

kobana billing nfes

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

ComandoHTTPDescripción
nfes bulk createPOST /v1/nfes/bulkActualizar NF-e en lote
nfes bulk deleteDELETE /v1/nfes/bulkEliminar NF-e en lote
nfes request-tries listGET /v1/nfes/request-triesListar reintentos de solicitud (organización)
nfes request-tries getGET /v1/nfes/{id}/request-triesListar reintentos de solicitud de la NF-e
nfes requests getGET /v1/nfes/{id}/requests/{request_id}Obtener solicitud externa
nfes requests listGET /v1/nfes/{id}/requestsListar solicitudes externas de la NF-e
nfes listGET /v1/nfesListar NF-e
nfes createPOST /v1/nfesCrear NF-e (borrador)
nfes updatePUT /v1/nfesCrear o actualizar NF-e
nfes fetch-barueriPOST /v1/nfes/fetch-barueriBuscar NFS-e en Barueri
nfes fetch-from-sefazPOST /v1/nfes/fetch-from-sefazBuscar NFS-e en ADN (SEFAZ)
nfes import-barueriPOST /v1/nfes/import-barueriImportar NFS-e Barueri
nfes syncPOST /v1/nfes/syncSincronizar NF-e de la organización
nfes getGET /v1/nfes/{id}Obtener NF-e
nfes deleteDELETE /v1/nfes/{id}Eliminar NF-e
nfes cancelPOST /v1/nfes/{id}/cancelCancelar NF-e
nfes issuePOST /v1/nfes/{id}/issueEmitir NF-e
nfes pdfGET /v1/nfes/{id}/pdfDescargar PDF de la NF-e
nfes retry-cancelPOST /v1/nfes/{id}/retry-cancelReintentar cancelación de la NF-e
nfes validate-barueriPOST /v1/nfes/{id}/validate-barueriValidar NFS-e Barueri
nfes xmlGET /v1/nfes/{id}/xmlDescargar XML de la NF-e

nfes bulk create​

Actualizar NF-e en lote

kobana billing nfes bulk create [OPCIONES]

POST /v1/nfes/bulk

Actualiza varias NF-e a la vez. Hoy soporta vincular o desvincular una factura (invoice_id) en hasta 100 NF-e por solicitud.

Cuerpo de la solicitud

NombreTipoObligatorioDescripción
nfe_idsarray<string (uuid)>síUUIDs de las NF-e a actualizar. Mínimo 1.
invoice_idstring (uuid)síUUID de la factura a vincular. Envía null para desvincular.
invoice_withholdingstringnoQué hacer si la retención de las NF-e difiere de la retención de la factura: block (predeterminado) rechaza con 409 NFE_WITHHOLDING_MISMATCH; update_invoice actualiza la factura con la retención de la NF-e. Valores: block, update_invoice.

Otros campos y objetos anidados: kobana schema billing.nfes.bulk.create.

Respuestas

HTTPDescripción
200Cantidad de NF-e actualizadas.
400El cuerpo de la solicitud falló en la validación.
404Recurso no encontrado en la organización actual.
409La retención de la NF-e difiere de la retención de la factura vinculada (NFE_WITHHOLDING_MISMATCH). details trae ambos lados; repite con invoice_withholding: "update_invoice" para actualizar la factura.
422El cuerpo de la solicitud falló en la validación.

nfes bulk delete​

Eliminar NF-e en lote

kobana billing nfes bulk delete [OPCIONES]

DELETE /v1/nfes/bulk

Elimina hasta 100 NF-e a la vez. Todas deben estar en estado draft y pertenecer a la organización actual. Exige el nivel de acceso delete. Reemplaza POST /v1/nfes/bulk-delete, eliminado.

Cuerpo de la solicitud

NombreTipoObligatorioDescripción
idsarray<string (uuid)>síUUIDs de las NF-e a eliminar. Mínimo 1, máximo 100.

Otros campos y objetos anidados: kobana schema billing.nfes.bulk.delete.

Respuestas

HTTPDescripción
200Cantidad de NF-e eliminadas.
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.

nfes request-tries list​

Listar reintentos de solicitud (organización)

kobana billing nfes request-tries list [OPCIONES]

GET /v1/nfes/request-tries

Lista todos los intentos de solicitud al proveedor de NF-e de la organización, paginados y ordenados por fecha descendente.

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.

Respuestas

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

nfes request-tries get​

Listar reintentos de solicitud de la NF-e

kobana billing nfes request-tries get [ID] [OPCIONES]

GET /v1/nfes/{id}/request-tries

Lista los intentos (NfeRequestTry) realizados al proveedor para esta NF-e — una entrada por llamada, con endpoint, estado HTTP, duración y mensajes de error.

Argumentos de la ruta: id

Respuestas

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

nfes requests get​

Obtener solicitud externa

kobana billing nfes requests get [ID] [REQUEST_ID] [OPCIONES]

GET /v1/nfes/{id}/requests/{request_id}

Argumentos de la ruta: id, request_id

Respuestas

HTTPDescripción
200Detalle de la solicitud externa, incluyendo cabeceras y cuerpos.
404Recurso no encontrado en la organización actual.

nfes requests list​

Listar solicitudes externas de la NF-e

kobana billing nfes requests list [ID] [OPCIONES]

GET /v1/nfes/{id}/requests

Lista las solicitudes HTTP capturadas para esta NF-e (llamadas al proveedor y webhooks recibidos), con paginación. Usa direction para filtrar entre outbound e inbound.

Argumentos de la ruta: id

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.
directionstringnoFiltra solicitudes por dirección: outbound (llamadas salientes) o inbound (webhooks recibidos). Valores: outbound, inbound.

Respuestas

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

nfes list​

Listar NF-e

kobana billing nfes list [OPCIONES]

GET /v1/nfes

Devuelve una lista paginada de NF-e (facturas electrónicas) 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.
person_idstringnoFiltra por UUID de la persona asociada.
person_document_numberstringnoFiltra por CPF/CNPJ de la persona (coincidencia exacta).
person_name_containsstringnoFiltra por nombre de la persona (búsqueda parcial, sin distinción de mayúsculas).
billing_account_idstringnoFiltra por billing_account_id.
company_idstringnoFiltra por company_id emisor.
invoice_idstringnoFiltra por invoice_id vinculado.
payment_idstringnoFiltra por payment_id vinculado.
transaction_idstringnoFiltra por transaction_id vinculado.
statusstringnoFiltra por estado: draft, pending, processing, issued, pending_cancel, canceling, canceled o error. Valores: draft, pending, processing, issued, pending_cancel, canceling, canceled, error.
invoice_filterstringnoFiltra por presencia de factura: with (solo con factura) o without (solo sueltas). Valores: with, without.
nfe_numberinteger,nullnoFiltra por número de la NF-e.
nfe_seriesstringnoFiltra por serie de la NF-e.
nfe_keystringnoFiltra por clave de acceso de la NF-e.
external_idstringnoFiltra por identificador externo de la NF-e.
lc116_codestringnoFiltra por código LC 116.
service_codestringnoFiltra por código del servicio municipal.
amount_minnumber,nullnoMonto mínimo de la NF-e en reales (filtra amount).
amount_maxnumber,nullnoMonto máximo de la NF-e en reales (filtra amount).
created_afterstringnoInicio del rango de fecha de creación (YYYY-MM-DD).
created_beforestringnoFin del rango de fecha de creación (YYYY-MM-DD).
issue_date_fromstringnoFiltra por issue_date inicial (inclusivo, formato YYYY-MM-DD).
issue_date_tostringnoFiltra por issue_date final (inclusivo, formato YYYY-MM-DD).
cancelled_afterstringnoFiltra por cancelled_at inicial (inclusivo, formato YYYY-MM-DD).
cancelled_beforestringnoFiltra por cancelled_at final (inclusivo, formato YYYY-MM-DD).

Respuestas

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

nfes create​

Crear NF-e (borrador)

kobana billing nfes create [OPCIONES]

POST /v1/nfes

Crea una NF-e en borrador (draft) para emisión posterior vía POST /nfes/{id}/issue. Acepta datos del tomador (customer) y alícuotas opcionales.

Cuerpo de la solicitud

NombreTipoObligatorioDescripción
billing_account_idstring (uuid)síUUID de la cuenta de cobro (tomador). Obligatorio.
amountnumbersíMonto de la NF-e en BRL (float, hasta 4 decimales). Obligatorio, debe ser positivo.
customerobjectsíDatos del tomador al momento de la emisión. Obligatorio.
company_idstring (uuid)noUUID de la empresa emisora (prestador). Por defecto: empresa por defecto de la organización.
external_idstringnoIdentificador en su sistema externo, para idempotencia/sincronización.
invoice_idstring (uuid)noUUID de la factura vinculada (opcional).
transaction_idstring (uuid)noUUID de la transacción de origen (opcional).
service_codestringnoCódigo del servicio según la tabla municipal.
service_descriptionstringnoDescripción libre del servicio prestado.
lc116_codestringnoCódigo LC 116.
cnae_codestringnoCódigo CNAE.
nbs_codestringnoCódigo NBS.
c_class_tribstringnoClasificación Tributaria (cClassTrib) del IBS/CBS.
ind_opstringnoIndicador de Operación (indOp) del IBS/CBS.
rps_numberintegernoNúmero del RPS (cuando la numeración es gestionada por la aplicación).
rps_serial_numberstringnoSerie del RPS.
taxesobjectnoAlícuotas de impuestos (en decimal, ej.: 0.05 para 5%). Aplica los defaults de la empresa cuando se omite.
custom_metadataobjectnoCampos personalizados (validados contra el schema de la organización).

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

Respuestas

HTTPDescripción
201NF-e creada en borrador.
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.

nfes update​

Crear o actualizar NF-e

kobana billing nfes update [OPCIONES]

PUT /v1/nfes

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 (tomador). Obligatorio.
company_idstring (uuid)noUUID de la empresa emisora (prestador). Por defecto: empresa por defecto de la organización.
external_idstringnoIdentificador en su sistema externo, para idempotencia/sincronización.
invoice_idstring (uuid)noUUID de la factura vinculada (opcional).
transaction_idstring (uuid)noUUID de la transacción de origen (opcional).
amountnumbernoMonto de la NF-e en BRL (float, hasta 4 decimales). Obligatorio, debe ser positivo.
service_codestringnoCódigo del servicio según la tabla municipal.
service_descriptionstringnoDescripción libre del servicio prestado.
lc116_codestringnoCódigo LC 116.
cnae_codestringnoCódigo CNAE.
nbs_codestringnoCódigo NBS.
c_class_tribstringnoClasificación Tributaria (cClassTrib) del IBS/CBS.
ind_opstringnoIndicador de Operación (indOp) del IBS/CBS.
rps_numberintegernoNúmero del RPS (cuando la numeración es gestionada por la aplicación).
rps_serial_numberstringnoSerie del RPS.
customerobjectnoDatos del tomador al momento de la emisión. Obligatorio.
taxesobjectnoAlícuotas de impuestos (en decimal, ej.: 0.05 para 5%). Aplica los defaults de la empresa cuando se omite.
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.nfes.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.

nfes fetch-barueri​

Buscar NFS-e en Barueri

kobana billing nfes fetch-barueri [OPCIONES]

POST /v1/nfes/fetch-barueri

Busca una NFS-e en el endpoint municipal de Barueri usando el codigo_autenticidade impreso en el DANFSE y el CPF/CNPJ del tomador. Devuelve el XML crudo y, cuando se encuentra, la NF-e ya existente en la organización.

Cuerpo de la solicitud

NombreTipoObligatorioDescripción
codigo_autenticidadestringsíCódigo de autenticidad impreso en el DANFSE de la NFS-e.
cnpj_tomadorstringsíCPF o CNPJ del tomador de la NFS-e (solo dígitos o con formato).
ambientestringnoAmbiente municipal: production o homologation. Por defecto: production. Valores: production, homologation.

Otros campos y objetos anidados: kobana schema billing.nfes.fetch-barueri.

Respuestas

HTTPDescripción
200Resultado de la búsqueda con XML y referencia a la NF-e existente, cuando exista.
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.

nfes fetch-from-sefaz​

Buscar NFS-e en ADN (SEFAZ)

kobana billing nfes fetch-from-sefaz [OPCIONES]

POST /v1/nfes/fetch-from-sefaz

Busca una NFS-e en el Ambiente de Dados Nacional (ADN) usando una clave de acceso de 50 dígitos y un certificado digital previamente registrado (autenticación mTLS).

Cuerpo de la solicitud

NombreTipoObligatorioDescripción
access_keystringsíClave de acceso de la NFS-e (50 dígitos).
certificate_idstringsíUUID del certificado digital registrado en la organización (usado para autenticación mTLS).
ambienteanyOfnoAmbiente SEFAZ: 1 (producción) o 2 (homologación). Por defecto: 2.

Otros campos y objetos anidados: kobana schema billing.nfes.fetch-from-sefaz.

Respuestas

HTTPDescripción
200Resultado de la búsqueda en el ADN.
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.

nfes import-barueri​

Importar NFS-e Barueri

kobana billing nfes import-barueri [OPCIONES]

POST /v1/nfes/import-barueri

Importa una NFS-e de Barueri en la base de datos. Acepta un XML crudo (devuelto por POST /nfes/fetch-barueri) o el codigo_autenticidade + cnpj_tomador para re-buscar antes de importar. Crea la BillingAccount del tomador cuando aún no existe. Exige el nivel de acceso import — write no basta.

Cuerpo de la solicitud

NombreTipoObligatorioDescripción
codigo_autenticidadestringsíCódigo de autenticidad impreso en el DANFSE de la NFS-e.
cnpj_tomadorstringsíCPF o CNPJ del tomador de la NFS-e (solo dígitos o con formato).
xmlstringnoXML crudo devuelto por POST /nfes/fetch-barueri. Opcional — cuando se omite, la NFS-e se vuelve a buscar con codigo_autenticidade + cnpj_tomador.
ambientestringnoAmbiente municipal: production o homologation. Por defecto: production. Valores: production, homologation.

Otros campos y objetos anidados: kobana schema billing.nfes.import-barueri.

Respuestas

HTTPDescripción
200Resultado de la importación con flags created/updated y la NF-e persistida.
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.

nfes sync​

Sincronizar NF-e de la organización

kobana billing nfes sync [OPCIONES]

POST /v1/nfes/sync

Dispara un job en background para sincronizar todas las NF-e de la organización con el proveedor (actualiza estado, descarga PDFs/XMLs pendientes). Devuelve el job_id para seguimiento. Rechaza si ya hay una sync activa.

Respuestas

HTTPDescripción
201Sync en cola.
404Recurso no encontrado en la organización actual.

nfes get​

Obtener NF-e

kobana billing nfes get [ID] [OPCIONES]

GET /v1/nfes/{id}

Argumentos de la ruta: id

Respuestas

HTTPDescripción
200Detalle de la NF-e.
404Recurso no encontrado en la organización actual.

nfes delete​

Eliminar NF-e

kobana billing nfes delete [ID] [OPCIONES]

DELETE /v1/nfes/{id}

Elimina una NF-e. Permitido solo para estados draft, pending, processing, error o canceled. NF-e issued deben cancelarse vía POST /nfes/{id}/cancel.

Argumentos de la ruta: id

Respuestas

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

nfes cancel​

Cancelar NF-e

kobana billing nfes cancel [ID] [OPCIONES]

POST /v1/nfes/{id}/cancel

Cancela una NF-e emitida. Encola la cancelación de forma asíncrona con el proveedor. El reason debe tener al menos 15 caracteres y se registra en el audit log.

Argumentos de la ruta: id

Cuerpo de la solicitud

NombreTipoObligatorioDescripción
reasonstringsíMotivo de la cancelación. Mínimo 15 caracteres. Registrado en el audit log y enviado al proveedor.

Otros campos y objetos anidados: kobana schema billing.nfes.cancel.

Respuestas

HTTPDescripción
200Cancelación en cola.
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.

nfes issue​

Emitir NF-e

kobana billing nfes issue [ID] [OPCIONES]

POST /v1/nfes/{id}/issue

Emite una NF-e en borrador (draft) o reintenta una NF-e en pending/error. Envía la solicitud al proveedor configurado en la organización.

Argumentos de la ruta: id

Respuestas

HTTPDescripción
200NF-e en cola/emitida.
404Recurso no encontrado en la organización actual.
422El cuerpo de la solicitud falló en la validación.

nfes pdf​

Descargar PDF de la NF-e

kobana billing nfes pdf [ID] [OPCIONES]

GET /v1/nfes/{id}/pdf

Descarga el PDF de la NF-e (DANFE) como adjunto binario (application/pdf). Servido desde la base de datos cuando está disponible; en caso contrario, se busca en el proveedor.

Argumentos de la ruta: id

Respuestas

HTTPDescripción
200PDF de la NF-e.
404Recurso no encontrado en la organización actual.

nfes retry-cancel​

Reintentar cancelación de la NF-e

kobana billing nfes retry-cancel [ID] [OPCIONES]

POST /v1/nfes/{id}/retry-cancel

Reintenta la cancelación de una NF-e atascada en pending_cancel, canceling o error. Re-encola el job de cancelación.

Argumentos de la ruta: id

Respuestas

HTTPDescripción
200Reintento de cancelación en cola.
404Recurso no encontrado en la organización actual.
422El cuerpo de la solicitud falló en la validación.

nfes validate-barueri​

Validar NFS-e Barueri

kobana billing nfes validate-barueri [ID] [OPCIONES]

POST /v1/nfes/{id}/validate-barueri

Re-busca la NFS-e en la municipalidad de Barueri y la compara con el registro local, devolviendo la lista de diferencias y el XML actualizado para reaplicación vía POST /nfes/import-barueri.

Argumentos de la ruta: id

Respuestas

HTTPDescripción
200Resultado de la validación con diferencias y XML actual.
404Recurso no encontrado en la organización actual.

nfes xml​

Descargar XML de la NF-e

kobana billing nfes xml [ID] [OPCIONES]

GET /v1/nfes/{id}/xml

Descarga el XML de la NF-e como adjunto binario (application/xml). Servido desde la base de datos cuando está disponible; en caso contrario, se busca en el proveedor.

Argumentos de la ruta: id

Respuestas

HTTPDescripción
200XML de la NF-e.
404Recurso no encontrado en la organización actual.