Skip to content

DebitNotes ​

Notas de débito electrónicas (/debit_notes).

No tienen /kude en la API v2.

Extends ​

  • Note

Constructors ​

Constructor ​

ts
new DebitNotes(transport, config): DebitNotes;

Parameters ​

ParameterType
transportTransport
configIssuerConfig

Returns ​

DebitNotes

Inherited from ​

ts
Note.constructor

Properties ​

documentType ​

ts
readonly documentType: "electronic_debit_note" = DocumentType.DEBIT_NOTE;

El tipo de documento que emite este recurso.

Overrides ​

ts
Note.documentType

Methods ​

get() ​

ts
get(id): Promise<Document>;

Un recurso por su id.

Parameters ​

ParameterType
idnumber

Returns ​

Promise<Document>

Inherited from ​

ts
Note.get

list() ​

ts
list(params?): Promise<Page<Document>>;

Una página de resultados.

Para recorrer todo sin escribir el bucle del cursor:

ts
for await (const factura of (await sd.invoices.list()).autoPaging()) { ... }

Parameters ​

ParameterType
paramsListParams

Returns ​

Promise<Page<Document>>

Inherited from ​

ts
Note.list

delete() ​

ts
delete(id): Promise<void>;

Borra el recurso.

Parameters ​

ParameterType
idnumber

Returns ​

Promise<void>

Inherited from ​

ts
Note.delete

cancel() ​

ts
cancel(id, reason): Promise<void>;

Anula el documento ante la DNIT.

Solo se puede anular un documento aprobado, y el motivo es obligatorio. La anulación es asíncrona: el documento pasa a cancellation_requested y termina en cancelled.

No devuelve el documento porque la API no lo manda —responde el id de la anulación—; para ver cómo quedó hay que releerlo con Resource.get o esperarlo con waitUntilFinal.

Parameters ​

ParameterType
idnumber
reasonstring

Returns ​

Promise<void>

Inherited from ​

ts
Note.cancel

resendEmail() ​

ts
resendEmail(id): Promise<void>;

Reenvía el documento por correo al receptor.

Parameters ​

ParameterType
idnumber

Returns ​

Promise<void>

Inherited from ​

ts
Note.resendEmail

resendToSet() ​

ts
resendToSet(id): Promise<void>;

Reenvía a la DNIT un documento que quedó en error.

Como cancel, no devuelve el documento: hay que releerlo.

Parameters ​

ParameterType
idnumber

Returns ​

Promise<void>

Inherited from ​

ts
Note.resendToSet

kudeUrl() ​

ts
kudeUrl(id): Promise<string>;

URL temporal del KuDE en PDF.

Está disponible recién cuando el documento se generó. Antes, la API responde 404.

Parameters ​

ParameterType
idnumber

Returns ​

Promise<string>

Inherited from ​

ts
Note.kudeUrl

waitUntilFinal() ​

ts
waitUntilFinal(id, options?): Promise<Document>;

Consulta el documento hasta que llegue a un estado final.

Sirve para el flujo "emito y necesito el CDC ahora". Si se puede escuchar webhooks, es mejor eso: esto consume cuota del límite de 5 solicitudes por segundo.

El plazo por omisión es holgado a propósito: un documento pasa por varios estados intermedios antes de quedar aprobado, y cada salto lo da el servidor por su cuenta, así que el recorrido completo puede llevar minutos. Agotar la espera no cancela nada: el documento sigue su curso.

Ojo con los estados intermedios que parecen finales: recoverable_errorno corta la espera, porque SmartDoc lo reintenta solo.

Parameters ​

ParameterType
idnumber
optionsWaitOptions

Returns ​

Promise<Document>

Throws ​

si se agota el tiempo.

Inherited from ​

ts
Note.waitUntilFinal

create() ​

ts
create(options): Promise<Document>;

Emite la nota.

Parameters ​

ParameterType
optionsCreateNoteOptions

Returns ​

Promise<Document>

Inherited from ​

ts
Note.create

update() ​

ts
update(id, options): Promise<Document>;

Reemplaza la nota. Como en facturas, no es un parche.

Parameters ​

ParameterType
idnumber
optionsUpdateNoteOptions

Returns ​

Promise<Document>

Inherited from ​

ts
Note.update