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.

info

Para crear borradores de facturas, tu organización emisora deberá tener contratado el plan Advanced o superior. Más información en nuestra página de planes y precios.

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.

const Facturapi = require('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.

const Facturapi = require('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.