Saltar al contenido principal

Borradores de facturas

Los borradores de facturas te permiten guardar una factura con datos preliminares o incompletos, para que puedas enviarla a tu cliente para su revisión antes de aplicar el timbrado y enviarla al SAT.

Una vez guardada, puedes descargar el PDF, pero no el XML de un borrador.

Crear un borrador​

Para crear un borrador de factura, simplemente crea una factura usando el método createInvoice enviando los datos que desees guardar y especificando el campo status como draft.

import Facturapi from 'facturapi'
const facturapi = new Facturapi('sk_test_API_KEY');

const invoice = await facturapi.invoices.create({
status: 'draft', // Guardar como borrador
customer: null, // Cuando guardas un borrador, todos los campos se vuelven opcionales
items: [{
quantity: 2,
product: {
description: 'Ukelele',
product_key: '60131324',
price: 345.60,
taxes: [
{
type: 'IVA',
rate: 0.16
}
]
}
}],
use: 'G01',
payment_form: "28"
});

Editar un borrador​

Para editar un borrador puedes usar el método updateDraftInvoice y actualizar la factura con los datos que desees cambiar.

import Facturapi from 'facturapi'
const facturapi = new Facturapi('sk_test_API_KEY');

const invoice = await facturapi.invoices.updateDraft('[INVOICE_ID]', {
customer: {
legal_name: 'Dunder Mifflin',
email: 'email@example.com',
tax_id: 'ABC101010111',
tax_system: '601',
address: {
zip: '85900'
}
}
});

Cómo saber si un borrador está listo para timbrar​

Para saber si un borrador está listo para timbrar, puedes usar el método getInvoice y revisar el campo is_ready_to_stamp, que tendrá el valor true cuando todos los campos requeridos estén completos.

Timbrar un borrador​

Para timbrar un borrador, utiliza el método stampDraftInvoice y especifica el ID de la factura. Si la factura no está lista para timbrar, recibirás un error como respuesta.