Clientes
No hay /v1/customers. Un cliente se crea en la factura misma, mandando el objeto
customer en vez de un customer_id: una integración que
nunca abre el panel tiene que poder traer su propio receptor sin darlo de alta primero.
customer.id es el del registro que quedó guardado.
De ahí en adelante puedes mandar customer_id y ahorrarte los cuatro campos.
El objeto customer
- tax_id
- requerido
- El RFC. Lo normalizamos y verificamos su dígito antes de mandarlo al SAT.
- legal_name
- requerido
- La razón social tal como el SAT la tiene, sin el régimen de capital: "ACME" y no "ACME, S.A. de C.V.".
- tax_regime
- requerido
- Su régimen, del catálogo c_RegimenFiscal. Tiene que ser el que el SAT le tiene registrado.
- postal_code
- requerido
- El código postal de su domicilio fiscal, que el SAT compara contra su padrón.
- default_cfdi_use
- opcional
- El uso que suele darle. Se puede cambiar factura por factura.
- opcional
- A dónde mandarle el comprobante.
- tax_residency / foreign_tax_id
- opcional
- Para un receptor extranjero.
Lo que mandas actualiza al cliente
Buscamos el RFC entre los clientes del emisor que timbra, no en toda tu cuenta. Si ya existe, el comprobante sale con la razón social, el régimen, el código postal y el uso que mandes. Cuando se timbra, guardamos esos datos en el cliente. Si el SAT lo rechaza, el cliente se queda como estaba. Un campo que no mandas no cambia, y el correo tampoco.
Si tu cuenta tiene varios emisores, cada uno tiene su propio registro del cliente. Lo que manda un emisor no cambia el registro de otro.
Con XAXX010101000, el público en general, ponemos el código postal del emisor. El
SAT exige que sea el mismo que el del lugar de expedición.
Para corregir los datos de un cliente sin facturar, el panel: Clientes → el cliente → Editar.
El régimen decide el uso del CFDI
No todos los usos valen para todos los receptores: un régimen 605 no admite G03, y mandar esa combinación es
cfdi_use_not_allowed, el rechazo más común que hay. Lo validamos antes de llamar al PAC
contra la matriz del catálogo c_UsoCFDI, así que ese error llega sin costar timbre.