Crear Factura de Ingreso¶
Crea un comprobante fiscal de Ingreso (Factura).
Definición¶
POST https://api.avanto.mx/v2/sales
Con Cliente existente¶
Cuerpo de solicitud¶
| Argumento | Tipo | Default | Descripción |
|---|---|---|---|
| company_subsidiary_id | integer | 0 | Sucursal de empresa emisora |
| accounting_effect | string | "I" | Efecto contable: "I" - Ingreso |
| subsidiary_id | integer | 0 | ID de la sucursal del cliente (receptor) |
| payment_method | string | "PUE" | Metodo de pago: "PUE" - Pago en una sola exhibición "PPD" - Pago en parcialidades o diferido |
| payment_options | string | "99" | Forma de pago: "99" - Por definir "01" - Efectivo "02" - Cheque nominativo, etc. |
| cfdi_regimenfiscal | string | "" | Régimen Fiscal del emisor (Emisor.RegimenFiscal) |
| cfdi_usocfdi | string | "" | Uso del CFDI (Receptor.UsoCFDI) |
| cfdi_exportacion | string | "01" | Cfdi Exportación "01" - No aplica |
| emitted | datetime | datetime | Fecha y hora de emisión; se expresa en el formato AAAA-MM-DDThh:mm :ss |
| carrier | string | "" | Transportista: "FedEx", "UPS", "DHL" (requiere catálogo) |
| shipping | string | "" | Dato de envío |
| assigned_to | integer | 1 | Usuario Asignado. |
| currency_code | string | "MXN" | Código de la moneda |
| exchange_rate | decimal | 0.0000 | Tipo de cambio |
| received | date | date | Fecha en que recibe el cliente este comprobante |
| days_to_pay | integer | 0 | Total de día de crédito |
| receivable | integer | 1 | Pendiente por cobrar: 0 - Cobrado 1 - PXC |
| date_of_payment | datetime | datetime | Fecha del cobro |
| deposited | integer | 0 | Depositado: 0 - No depositado 1 - Depositado |
| terms_conditions | string | "" | Condiciones de pago |
| notes | string | "" | Notas adicionales |
| tips | decimal | 0.0000 | Importe de servicios adicionales |
| sic_code | string | "" | RFC del cliente |
| customer_name | string | "" | Nombre del cliente (Customers.customer_name) |
| customer_email | string | "" | Correo electrónico del cliente (Customers.email) |
| cfdi_domiciliofiscalreceptor | integer | "" | Domicilio fiscal receptor (Customers.Subsidiaries.bill_code) |
| cfdi_regimenfiscalreceptor | integer | "" | Regimen fiscal receptor (Customers.cfdi_regimenfiscalreceptor) |
| cfdi_facactadquiriente | string | "" | Cfdi FactAtrAdquirente |
| soldItems | Object | Productos del comprobante | |
| soldItems.quantity | decimal | 0.0000 | Cantidad |
| soldItems.description | string | "" | Descripción del producto |
| soldItems.unit_price | decimal | 0.0000 | Precio unitario |
| soldItems.cfdi_objetoimp | string | "" | Objeto a impuestos. "01" - No objeto de impuesto "02" - Sí objeto de impuesto "03" - Sí objeto del impuesto y no obligado al desglose |
| soldItems.unit_of_measure | string | "" | Unidad de medida del producto (interna) |
| soldItems.code | string | "" | Código o clave del producto (interna) |
| soldItems.discount | decimal | 0.0000 | Monto de descuento |
| soldItems.non_taxable | tinyint | 0 | Exento o libre de impuestos: 0 - No exento 1 - Exento |
| soldItems.cfdi_claveprodserv | string | "01010101" | Clave del producto o servicio del catálogo del SAT |
| soldItems.cfdi_claveunidad | string | "H87" | Clave de unidad del catálogo del SAT |
| soldItems.cfdi_cuentapredial | string | "" | No. cuenta predial para el caso de recibos de arrendamiento |
| soldItems.notes | string | "" | Datos adicionales para imprimir en el comprobante junto al artículo |
| soldItems.taxes | Object | Impuestos | |
| soldItems.taxes.taxable_base | decimal | 0.0000 | Base para el impuesto |
| soldItems.taxes.tax_type | string | "" | Tipo de impuesto: "T. Traslado" "R. Retención" |
| soldItems.taxes.tax_name | string | "" | Nombre de impuesto: "002. IVA" "003. IEPS" "001. ISR" |
| soldItems.taxes.type_factor | string | "" | Tipo Factor: "Tasa", "Cuota", "Exento" |
| soldItems.taxes.tax_rate | decimal | 0.0000 | Tasa o cuota; un Porcentaje (p.ej: 0.16 para 16%) o un Importe |
| soldItems.infoAduanera | Object | Informacion Aduanera | |
| soldItems.infoAduanera.numeropedimento | string | "" | Número de pedimento |
Información
- Los campos marcados con son datos requeridos.
- Tome en cuenta que el valor de emitted no puede ser de hace más de 48 horas ni mayor a la fecha y hora de la Ciudad de México y es independiente a la fecha y hora de timbrado.
- Tipo de cambio es requerido si currency_code es diferente de "MXN".
- Si los campos soldItems.cfdi_claveprodserv y soldItems.cfdi_claveunidad vienen vacíos en el post, por defecto toman el valor de "01010101" y "H87".
- Si no se especifica el objeto soldItems.taxes, se supone un Traslado del 16% de IVA directo al importe de base.
- El Domicilio Fiscal del receptor es un dato que proviene de la sucursal asignada, en caso de ser un cliente nuevo, el valor es requerido en la solicitud.
Atención
- La información enviada sobre el cliente será actualizada en la base de datos.
- Se requiere al menos dar de alta un producto/servicio para poder generar el comprobante correctamente.
Payload¶
{
"company_subsidiary_id": 19,
"accounting_effect": "I",
"subsidiary_id": 18,
"payment_method": "01",
"payment_options": "PUE",
"cfdi_exportacion": "01",
"cfdi_regimenfiscal": "601",
"cfdi_usocfdi": "S01",
"soldItems": [
{
"quantity": 1,
"description": "Lápices de colores",
"unit_price": 150,
"cfdi_objetoimp": "02",
"infoAduanera": [
{
"numeropedimento": "22 47 3807 8003832"
},
{
"numeropedimento": "22 47 3807 8003840"
}
]
}
]
}
Sin precargar Cliente¶
Se implementa un método rápido para crear una factura sin tener que precargar al Cliente.
Si se omite en la solicitud el dato del ID de la sucursal del Cliente subsidiary_id,
la solicitud requiere el RFC del Receptor, el Régimen Fiscal del Receptor, Domicilio Fiscal del Receptor y
el Uso del CFDI para crear al Cliente en la misma solicitud que se crea la factura.
Si el RFC no existe se crea el Cliente con ese RFC antes de crear la factura, si ya existe se usa el existente.
Cuerpo de solicitud¶
| Argumento | Tipo | Default | Descripción |
|---|---|---|---|
| company_subsidiary_id | integer | 0 | Sucursal de empresa emisora |
| accounting_effect | string | "I" | Efecto contable: "I" - Ingreso |
| payment_method | string | "PUE" | Metodo de pago: "PUE" - Pago en una sola exhibición "PPD" - Pago en parcialidades o diferido |
| payment_options | string | "99" | Forma de pago: "99" - Por definir "01" - Efectivo "02" - Cheque nominativo, etc. |
| cfdi_regimenfiscal | string | "" | Régimen Fiscal del emisor (Emisor.RegimenFiscal) |
| cfdi_exportacion | string | "01" | Cfdi Exportación "01" - No aplica |
| sic_code | string | "" | RFC del cliente |
| customer_name | string | "" | Nombre del cliente (Customers.customer_name) |
| customer_email | string | "" | Correo electrónico del cliente (Customers.email) |
| cfdi_usocfdi | string | "" | Uso del CFDI (Receptor.UsoCFDI) |
| cfdi_domiciliofiscalreceptor | integer | "" | Domicilio fiscal receptor (Customers.Subsidiaries.bill_code) |
| cfdi_regimenfiscalreceptor | integer | "" | Regimen fiscal receptor (Customers.cfdi_regimenfiscalreceptor) |
| subsidiary_id | integer | 0 | ID de la sucursal del cliente (receptor) |
| emitted | datetime | datetime | Fecha y hora de emisión; se expresa en el formato AAAA-MM-DDThh:mm :ss |
| carrier | string | "" | Transportista: "FedEx", "UPS", "DHL" (requiere catálogo) |
| shipping | string | "" | Dato de envío |
| assigned_to | integer | 1 | Usuario Asignado. |
| currency_code | string | "MXN" | Código de la moneda |
| exchange_rate | decimal | 0.0000 | Tipo de cambio |
| received | date | date | Fecha en que recibe el cliente este comprobante |
| days_to_pay | integer | 0 | Total de día de crédito |
| receivable | integer | 1 | Pendiente por cobrar: 0 - Cobrado 1 - PXC |
| date_of_payment | datetime | datetime | Fecha del cobro |
| deposited | integer | 0 | Depositado: 0 - No depositado 1 - Depositado |
| terms_conditions | string | "" | Condiciones de pago |
| notes | string | "" | Notas adicionales |
| tips | decimal | 0.0000 | Importe de servicios adicionales |
| cfdi_facactadquiriente | string | "" | Cfdi FactAtrAdquirente |
| soldItems | Object | Productos del comprobante | |
| soldItems.quantity | decimal | 0.0000 | Cantidad |
| soldItems.description | string | "" | Descripción del producto |
| soldItems.unit_price | decimal | 0.0000 | Precio unitario |
| soldItems.cfdi_objetoimp | string | "" | Objeto a impuestos. "01" - No objeto de impuesto "02" - Sí objeto de impuesto "03" - Sí objeto del impuesto y no obligado al desglose |
| soldItems.unit_of_measure | string | "" | Unidad de medida del producto (interna) |
| soldItems.code | string | "" | Código o clave del producto (interna) |
| soldItems.discount | decimal | 0.0000 | Monto de descuento |
| soldItems.non_taxable | tinyint | 0 | Exento o libre de impuestos: 0 - No exento 1 - Exento |
| soldItems.cfdi_claveprodserv | string | "01010101" | Clave del producto o servicio del catálogo del SAT |
| soldItems.cfdi_claveunidad | string | "H87" | Clave de unidad del catálogo del SAT |
| soldItems.cfdi_cuentapredial | string | "" | No. cuenta predial para el caso de recibos de arrendamiento |
| soldItems.notes | string | "" | Datos adicionales para imprimir en el comprobante junto al artículo |
| soldItems.taxes | Object | Impuestos | |
| soldItems.taxes.tax_type | string | "" | Tipo de impuesto: "T. Traslado" "R. Retención" |
| soldItems.taxes.tax_name | string | "" | Nombre de impuesto: "002. IVA" "003. IEPS" "001. ISR" |
| soldItems.taxes.type_factor | string | "" | Tipo Factor: "Tasa", "Cuota", "Exento" |
| soldItems.taxes.tax_rate | decimal | 0.0000 | Tasa o cuota; un Porcentaje (p.ej: 0.16 para 16%) o un Importe |
Información
- Los campos marcados con son datos requeridos.
- Tome en cuenta que el valor de emitted no puede ser de hace más de 48 horas ni mayor a la fecha y hora de la Ciudad de México y es independiente a la fecha y hora de timbrado.
- Tipo de cambio es requerido si currency_code es diferente de "MXN".
- Si los campos soldItems.cfdi_claveprodserv y soldItems.cfdi_claveunidad vienen vacíos en el post, por defecto toman el valor de "01010101" y "H87".
- Si no se especifica el objeto soldItems.taxes, se supone un Traslado del 16% de IVA directo al importe de base.
- El Domicilio Fiscal del receptor es un dato que proviene de la sucursal asignada, en caso de ser un cliente nuevo, el valor es requerido en la solicitud.
Atención
Se requiere al menos dar de alta un producto/servicio para poder generar el comprobante correctamente.
Payload¶
{
"company_subsidiary_id": 1,
"accounting_effect": "I",
"payment_method": "PUE",
"payment_options": "01",
"cfdi_regimenfiscal": "601",
"cfdi_exportacion": "01",
"sic_code": "CUSC850516316",
"customer_name": "CESAR OSBALDO CRUZ SOLORZANO",
"customer_email": "[email protected]",
"cfdi_usocfdi": "S01",
"cfdi_domicilifiscalreceptor": "45638",
"cfdi_regimenfiscalreceptor": "605",
"soldItems": [
{
"quantity": 1,
"description": "Lápices de colores",
"unit_price": 150,
"cfdi_objetoimp": "02",
"infoAduanera": [
{
"numeropedimento": "22 47 3807 8003832"
},
{
"numeropedimento": "22 47 3807 8003840"
}
]
}
]
}
Respuesta¶
La respuesta en formato: application/json, text/json.
{
"id": 95,
"company_subsidiary_id": 1,
"accounting_effect": "I",
"serial_number": "B",
"folio": 3,
"emitted": "2022-08-01 11:00:50",
"subsidiary_id": 48,
"carrier": "",
"shipping": "",
"currency_id": 7,
"exchange_rate": "1.0000",
"payment_options": "01",
"payment_method": "PUE",
"items": 1,
"pieces": "1.000000",
"subtotal": "150.0000",
"discount": "0.0000",
"subtotal_discount": "150.0000",
"withheld_taxes_total": "0.0000",
"transferred_taxes_total": "24.0000",
"total": "174.0000",
"received": "2022-07-09",
"days_to_pay": 0,
"receivable": 1,
"date_of_payment": "2022-07-09 00:00:00",
"deposited": 0,
"terms_conditions": "",
"canceled": 0,
"canceled_date": "1969-12-12 00:00:00",
"notes": "",
"tips": "0.0000",
"balance": null,
"active": 1,
"created_at": "2022-07-09 16:23:41"
}