GET /invoices/:id
Permite obtener una factura

Permite obtener la información de una factura a partir de su id, además devuelve la informacion en formato pdf (base 64) y en xml.

Formatos soportados

json

Errores

Code Description Metadata
401 Unauthorized
:status: status
:message: error_message
404 Not Found
:status: status
:message: error_message
500 Server crashed
:status: status
:message: error_message

Ejemplos

   === Respuesta del servidor cuando la factura no esta timbrada ===
{
  "invoice_status"=>"No timbrada",
  "paid_status"=>"false",
  "invoice"=>{
    "id"=>1,
    "serie"=>"A",
    "folio"=>1,
    "date"=>"2016-06-03T00:00:00.000Z",
    "payment_form"=>"Pago en una sola exhibición.",
    "num_account"=>4000,
    "payment_conditions"=>"muchas",
    "note"=>"Nota de ejemplo",
    "discount_amount"=>0.0,
    "issuer_id"=>1,
    "branch_id"=>1,
    "receptor_id"=>2,
    "money_id"=>1,
    "discount_type_id"=>1,
    "receipt_type_id"=>1,
    "payment_method_id"=>1,
    "invoice_type_id"=>1,
    "invoice_status_id"=>1,
    "total"=>"21600.0",
    "uuid"=>nil,
    "stamp"=>nil,
    "no_certification_sat"=>nil,
    "date_stamp"=>nil,
    "iva_retencion_type_id"=>nil,
    "iva_retencion"=>0.0,
    "isr_retencion"=>0,
    "paid_status"=>"false",
    "paid_date"=>nil,
    "concepts"=>[
      {
        "id"=>1,
        "quantity"=>"2.0",
        "unit"=>"SERVICIO",
        "description"=>"Desarrollo de Software",
        "price"=>"5000.0",
        "amount"=>"10000.0",
        "invoice_id"=>1,
        "iva_type_id"=>1
      },
      {
        "id"=>2,
        "quantity"=>"1.0",
        "unit"=>"SERVICIO",
        "description"=>"Desarrollo de Software",
        "price"=>"5000.0",
        "amount"=>"5000.0",
        "invoice_id"=>1,
        "iva_type_id"=>2
      },
      {
        "id"=>3,
        "quantity"=>"1.0",
        "unit"=>"SERVICIO",
        "description"=>"Desarrollo de Software",
        "price"=>"5000.0",
        "amount"=>"5000.0",
        "invoice_id"=>1,
        "iva_type_id"=>2
      }
    ],
    "issuer"=>{
      "name"=>"Cubicode",
      "social_reason"=>"VICTOR DANIEL RODRIGUEZ CAMARA",
      "rfc"=>"ROCV890731AE7",
      "phone"=>"9991590538",
      "email"=>"vrodriguez@cubicode.mx",
      "address"=>{
        "id"=>1,
        "to_s_invoice"=>"Calle 53F x 56 y 58 No. interior - <br>No. exterior 390 Colonia Francisco de Montejo Merida Merida <br>Yucatán México <br>97249 "
      }
    },
    "branch"=>{
      "name"=>"OFICINA",
      "phone"=>"9991590538",
      "address"=>{
        "id"=>3,
        "to_s_invoice"=>"Calle 53F x 56 y 58 No. interior - <br>No. exterior 390 Colonia Francisco de Montejo Merida Merida <br>Yucatán México <br>97249 "
      }
    }
  }
}
    === Respuesta del servidor cuando la factura esta timbrada ===
{
  "invoice_status"=>"Timbrada",
  "paid_status"=>"true",
  "xml"=>"xml string",
  "pdf_file"=>"pdf base 64",
  "invoice"=>{
    "id"=>14,
    "serie"=>"Z",
    "folio"=>119,
    "date"=>"2016-06-09T15:54:16.000Z",
    "payment_form"=>"Pago en una sola exhibición.",
    "num_account"=>nil,
    "payment_conditions"=>"muchas",
    "note"=>"asdasd",
    "discount_amount"=>0.0,
    "issuer_id"=>2,
    "branch_id"=>1,
    "receptor_id"=>1,
    "money_id"=>1,
    "discount_type_id"=>1,
    "receipt_type_id"=>1,
    "payment_method_id"=>1,
    "invoice_type_id"=>1,
    "invoice_status_id"=>2,
    "total"=>"319.0",
    "uuid"=>"AA97566E-E7FE-403A-9FEC-526852D147D4",
    "stamp"=>"n2I1WCQyruzxH1MI2ReuNwzb3nqcZYJ1kVEz/U0L1QXEnN6IX+tNPian1ogpJmjDxhol94e22JKZVfz3InAhLLn9boGbs+xSONi0zPZWgSFHrpayykhMmjkCWcOV0+ywSEwIif+OpcjnZC636KNHmoiE2GEt+4BSeUoRlIQWIDw=",
    "no_certification_sat"=>"20001000000100005761",
    "date_stamp"=>"2016-06-09T10:54:22.000Z",
    "iva_retencion_type_id"=>nil,
    "iva_retencion"=>0.0,
    "isr_retencion"=>0,
    "paid_status"=>"true",
    "paid_date"=>nil,
    "concepts"=>[
      {
        "id"=>28,
        "quantity"=>"4.0",
        "unit"=>"hola mundo",
        "description"=>"hdsda",
        "price"=>"30.0",
        "amount"=>"120.0",
        "invoice_id"=>14,
        "iva_type_id"=>1
      },
      {
        "id"=>29,
        "quantity"=>"5.0",
        "unit"=>"hola mundo",
        "description"=>"jejej",
        "price"=>"31.0",
        "amount"=>"155.0",
        "invoice_id"=>14,
        "iva_type_id"=>1
      }
    ],
    "issuer"=>{
      "name"=>"Finkok",
      "social_reason"=>"Finkok, S.A. de C.V.",
      "rfc"=>"AAD990814BP7",
      "phone"=>"99945907",
      "email"=>"prueba@finkok.com",
      "address"=>{
        "id"=>2,
        "to_s_invoice"=>"Calle Av. Tres Marías Terrazas No. interior - <br>No. exterior No. 240 Colonia Col. Tres Marías Morelia Morelia <br>Michoacán México <br>58254 "
      }
    },
    "branch"=>{
      "name"=>"OFICINA",
      "phone"=>"9991590538",
      "address"=>{
        "id"=>3,
        "to_s_invoice"=>"Calle 53F x 56 y 58 No. interior - <br>No. exterior 390 Colonia Francisco de Montejo Merida Merida <br>Yucatán México <br>97249 "
      }
    }
  }
}
  

Parámetros

Nombre del parámetro Descripción
invoice_status
requerido

Estatus de la factura

Validations:

  • Must be one of: Timbrada, No timbrada, Cancelada.

paid_status
requerido

Índica si la factura esta cobrada o no

Validations:

  • Must be one of: true, false.

name
requerido

Nombre del objeto (Cliente, Sucursal, Empresa)

Validations:

  • Must be String

address_attributes
opcional

Objeto que representa la direccion de una Sucursal)

Validations:

  • Must be Object

serie
requerido

Letra de serie para las facturas o las sucursales

Validations:

  • Must be String

folio
requerido

Número de folio para las facturas o las sucursales

Validations:

  • Must be a number.

xml
opcional

XML con la informacion de la factura

Validations:

  • Must be String

pdf_file
opcional

PDF con la información de la factura (base64)

Validations:

  • Must be String

invoice
requerido

Objeto que contiene la informacion de la factura

Validations:

  • Must be Object

id
requerido

id del Objeto

Validations:

  • Must be a number.

date
requerido

Fecha y hora de creación de la factura

Validations:

  • Must be String

payment_form
requerido

Forma de pago de la factura

Validations:

  • Must be one of: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11.


Metadata:
1: Efectivo
2: Cheque nominativo
3: Transferencia electrónica de fondos
4: Tarjeta de crédito
5: Monedero electrónico
6: Dinero electrónico
7: Vales de despensa
8: Tarjeta de débito
9: Tarjeta de servicio
10: Otros
num_account
opcional

Número de cuenta para el deposito

Validations:

  • Must be String

payment_conditions
opcional

Condiciones para efectuar el pago

Validations:

  • Must be String

note
opcional

Alguna nota adicional que puede tener la factura

Validations:

  • Must be String

discount_amount
opcional

Cantidad de descuento

Validations:

  • Must be a number.

issuer_rfc
requerido

RFC de la empresa que emite la factura

Validations:

  • Must be a number.

branch_name
requerido

Nombre de la sucursal donde se emite la factura

Validations:

  • Must be a number.

receptor_rfc
requerido

RFC del cliente que recibe la factura

Validations:

  • Must be a number.

money_id
requerido

id del tipo de moneda que maneja la factura

Validations:

  • Must be one of: 1, 2.


Metadata:
1: MXN
2: USD
discount_type_id
requerido

id del tipo de descuento que maneja la factura

Validations:

  • Must be one of: 1, 2, 3.


Metadata:
1: Ninguno
2: Precio
3: Porcentaje
receipt_type_id
requerido

id del tipo de

Validations:

  • Must be one of: 1, 2, 3, 4, 5.


Metadata:
1: Ingreso
2: Egreso
3: Traslado
4: Nomina
5: Pago
payment_method_id
requerido

id de los métodos de pago de la factura. Para más información ver el siguierte enlace www.sat.gob.mx/fichas_tematicas/buzon_tributario/Documents/catalogo_metodos_pago.pdf

Validations:

  • Must be one of: 1, 2.


Metadata:
1: Pago en una sola exhibición
2: Pago en parcialidades o diferido
invoice_type_id
requerido

id del tipo de factura

Validations:

  • Must be one of: 1, 2, 3.


Metadata:
1: Factura
2: Recibo de Honorarios
3: No aplica
purpose_cfdi_id
requerido

Uso del CFDI(Consultar Servicio purpose_cfdis)

Validations:

  • Must be Integer

branch_id
requerido

ID de sello digital de la empresa que emite la factura

Validations:

  • Must be Integer

key_sat
requerido

CLave de producto del SAT

Validations:

  • Must be String

measure_unit_id
requerido

Unidad de medida para el concepto

Validations:

  • Must be String

total
requerido

El total de los conceptos de la factura

Validations:

  • Must be a number.

uuid
requerido

padasda

Validations:

  • Must be String

stamp
requerido

padasda

Validations:

  • Must be String

no_certification_sat
requerido

Número de certificación entregado por el SAT

Validations:

  • Must be String

date_stamp
requerido

Fecha y hora que se timbró la factura

Validations:

  • Must be String

iva_retencion_type_id
requerido

Tipo de retención de la factura

Validations:

  • Must be one of: 1, 2, 3.


Metadata:
1: 2/3
2: 4%
3: NINGUNO
iva_retencion
requerido

Retención de IVA

Validations:

  • Must be a number.

isr_retencion
requerido

Retención de ISR

Validations:

  • Must be a number.

paid_date
requerido

Fecha y hora que se pagó la factura

Validations:

  • Must be String

concepts
requerido

Arreglo de conceptos de la factura

Validations:

  • Must be an array of any type

quantity
requerido

Cantidad del concepto

Validations:

  • Must be String

unit
requerido

Unidad del concepto

Validations:

  • Must be String

description
requerido

Descripción del concepto

Validations:

  • Must be String

price
requerido

Precio del concepto

Validations:

  • Must be String

iva_type_id
requerido

id del tipo de IVA aplicada al concepto

Validations:

  • Must be one of: 1, 2, 3.


Metadata:
1: Tasa del 16%
2: Tasa Cero
3: Exento de IVA
amount
requerido

Precio multiplicado por la cantidad del concepto

Validations:

  • Must be String

invoice_id
requerido

id de la factura a la que pertence el concepto

Validations:

  • Must be a number.

issuer
requerido

Objeto que contiene la informacion de la empresa que emitió la factura

Validations:

  • Must be Object

social_reason
requerido

Razón social de la empresa que emitió la factura

Validations:

  • Must be String

rfc
requerido

RFC de la empresa que emitió la factura

Validations:

  • Must be String

phone
requerido

Teléfono de la sucursal o de la empresa

Validations:

  • Must be String

email
requerido

Email de la empresa que emitió la factura

Validations:

  • Must be String

address
requerido

Objeto con la dirreción

Validations:

  • Must be String

to_s_invoice
requerido

La dirreción completa del objeto

Validations:

  • Must be String

branch
requerido

Objeto que contiene la información de la sucursal donde se emitio la factura

Validations:

  • Must be Object


POST /invoices
Permite crear una factura

Permite crear una factura o un recibo de honorarios con la información enviada (Ver más abajo).

Formatos soportados

json

Errores

Code Description Metadata
401 Unauthorized
:status: status
:message: error_message
422 Unprocessable Entity
:status: status
:errors: []
500 Server crashed
:status: status
:message: error_message

Ejemplos

    === Ejemplo de los parametros que se deben de enviar con la petición para crear una factura
{
	"invoice": {
		"issuer_rfc": "AAD990814BP7",
		"purpose_cfdi_id": 1,
		"serie": "A",
		"folio": "8",
		"date": "25-11-2017",
		"payment_form_ids": [1],
		"isr_retencion": "",
		"discount_amount": "",
		"money_id": 1,
		"branch_id": "",
		"invoice_type_id": 1,
		"discount_type_id": 1,
		"receipt_type_id": 1,
		"iva_retencion_type_id": "",
    "paid_status": 0,
		"paid_date": "",
		"branch_attributes": {
			"name": "Oficina Garcia Gineres 2"
		},
		"receptor_attributes": {
			"rfc": "CAPG920428k1A"
		},
		"concepts_attributes": [{
			"quantity": "1",
			"unit": "1",
			"description": "Tacos",
			"price": "10",
			"amount": "20",
			"iva_type_id": 1,
			"key_sat": "50192602",
			"iva": "",
			"iva_retencion": "",
			"isr_retencion": "",
			"iva_retencion_type_id": 1,
			"measure_unit_id": 2
		}],
		"payment_method_id": 1
	}
}
    === Respuesta del servidor cuando la factura se lográ timbrar, status: 201
{
  id: 17,
  invoice_status: "Timbrada",
  paid_status: "true",
  message: "La factura fue timbrada exitósamente"
  xml=>"xml string",
  pdf_file=>"pdf base 64"
}
    === Respuesta del servidor cuando la factura no se lográ timbrar, status: 201
{
  id: 16,
  invoice_status: "No timbrada",
  paid_status: "true",
  mensaje: "Se creó la factura exitosamente pero no se logró timbrar",
  error: "Ocurrió un problema, intente nuevamente en unos minutos. Contacte al administrador si persiste el problema"
}

Parámetros

Nombre del parámetro Descripción
invoice_status
requerido

Estatus de la factura

Validations:

  • Must be one of: Timbrada, No timbrada, Cancelada.

paid_status
requerido

Índica si la factura esta cobrada o no

Validations:

  • Must be one of: true, false.

name
requerido

Nombre del objeto (Cliente, Sucursal, Empresa)

Validations:

  • Must be String

address_attributes
opcional

Objeto que representa la direccion de una Sucursal)

Validations:

  • Must be Object

serie
requerido

Letra de serie para las facturas o las sucursales

Validations:

  • Must be String

folio
requerido

Número de folio para las facturas o las sucursales

Validations:

  • Must be a number.

date
requerido

Fecha y hora de creación de la factura

Validations:

  • Must be String

payment_form
requerido

Forma de pago de la factura

Validations:

  • Must be one of: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11.


Metadata:
1: Efectivo
2: Cheque nominativo
3: Transferencia electrónica de fondos
4: Tarjeta de crédito
5: Monedero electrónico
6: Dinero electrónico
7: Vales de despensa
8: Tarjeta de débito
9: Tarjeta de servicio
10: Otros
num_account
opcional

Número de cuenta para el deposito

Validations:

  • Must be String

payment_conditions
opcional

Condiciones para efectuar el pago

Validations:

  • Must be String

note
opcional

Alguna nota adicional que puede tener la factura

Validations:

  • Must be String

discount_amount
opcional

Cantidad de descuento

Validations:

  • Must be a number.

issuer_rfc
requerido

RFC de la empresa que emite la factura

Validations:

  • Must be a number.

branch_name
requerido

Nombre de la sucursal donde se emite la factura

Validations:

  • Must be a number.

receptor_rfc
requerido

RFC del cliente que recibe la factura

Validations:

  • Must be a number.

money_id
requerido

id del tipo de moneda que maneja la factura

Validations:

  • Must be one of: 1, 2.


Metadata:
1: MXN
2: USD
discount_type_id
requerido

id del tipo de descuento que maneja la factura

Validations:

  • Must be one of: 1, 2, 3.


Metadata:
1: Ninguno
2: Precio
3: Porcentaje
receipt_type_id
requerido

id del tipo de

Validations:

  • Must be one of: 1, 2, 3, 4, 5.


Metadata:
1: Ingreso
2: Egreso
3: Traslado
4: Nomina
5: Pago
payment_method_id
requerido

id de los métodos de pago de la factura. Para más información ver el siguierte enlace www.sat.gob.mx/fichas_tematicas/buzon_tributario/Documents/catalogo_metodos_pago.pdf

Validations:

  • Must be one of: 1, 2.


Metadata:
1: Pago en una sola exhibición
2: Pago en parcialidades o diferido
invoice_type_id
requerido

id del tipo de factura

Validations:

  • Must be one of: 1, 2, 3.


Metadata:
1: Factura
2: Recibo de Honorarios
3: No aplica
purpose_cfdi_id
requerido

Uso del CFDI(Consultar Servicio purpose_cfdis)

Validations:

  • Must be Integer

branch_id
requerido

ID de sello digital de la empresa que emite la factura

Validations:

  • Must be Integer

key_sat
requerido

CLave de producto del SAT

Validations:

  • Must be String

measure_unit_id
requerido

Unidad de medida para el concepto

Validations:

  • Must be String

iva_retencion_type_id
opcional

id del tipo de retencion que se le va aplicar al recibo de honorario

Validations:

  • Must be one of: 1, 2, 3.


Metadata:
1: 2/3
2: 4%
3: NINGUNO
concepts_attributes
requerido

Hash de objetos que representan los conceptos de las factura, con índices para cada objeto concepto

Validations:

  • Must be Hash

quantity
requerido

Cantidad del concepto

Validations:

  • Must be String

unit
requerido

Unidad del concepto

Validations:

  • Must be String

description
requerido

Descripción del concepto

Validations:

  • Must be String

price
requerido

Precio del concepto

Validations:

  • Must be String

iva_type_id
requerido

id del tipo de IVA aplicada al concepto

Validations:

  • Must be one of: 1, 2, 3.


Metadata:
1: Tasa del 16%
2: Tasa Cero
3: Exento de IVA

POST /invoices/create_full
Permite crear una factura con una nueva sucursal y un nuevo cliente

Permite crear una factura o un recibo de honorarios con la información enviada (Ver más abajo).

Formatos soportados

json

Errores

Code Description Metadata
401 Unauthorized
:status: status
:message: error_message
422 Unprocessable Entity
:status: status
:errors: []
500 Server crashed
:status: status
:message: error_message

Ejemplos

    === Ejemplo de los parametros que se deben de enviar con la petición para crear una factura

{
	"invoice": {
		"issuer_rfc": "AAD990814BP7",
		"purpose_cfdi_id": 1,
		"serie": "A",
		"folio": "5",
		"date": "25-11-2017",
		"payment_form_ids": [1],
		"isr_retencion": "",
		"discount_amount": "",
		"money_id": 1,
		"branch_id": "",
		"invoice_type_id": 1,
		"discount_type_id": 1,
		"receipt_type_id": 1,
		"iva_retencion_type_id": "",
		"payment_method_id": 1,
		"paid_date": "",
		"branch_attributes": {
			"name": "Oficina Garcia Gineres 2",
			"serie": "G",
			"folio": "1",
			"address_attributes": {
				"id": "",
				"cp": "97070",
				"state_id": "2106",
				"full_address": "Av. Tres Marías Terrazas No. 240 Col. Tres Marías"
			}
		},
		"receptor_attributes": {
			"name": "Jose Gustavo",
			"social_reason": "Jose Gustavo Canul Poot",
			"rfc": "CAPG920428k1A",
			"email": "gus.knul@gmail.com",
			"issuer_id": "",
			"person_fiscal_type_id": 1,
			"type_receptor_id": 1
		},
		"concepts_attributes": [{
			"quantity": "1",
			"unit": "1",
			"description": "Tacos",
			"price": "10",
			"amount": "20",
			"iva_type_id": 1,
			"key_sat": "50192602",
			"iva": "",
			"iva_retencion": "",
			"isr_retencion": "",
			"iva_retencion_type_id": 1,
			"measure_unit_id": 2
		}]
	}
}
    === Respuesta del servidor cuando la factura se lográ timbrar, status: 201
{
  id: 17,
  invoice_status: "Timbrada",
  paid_status: "true",
  message: "La factura fue timbrada exitósamente"
  xml=>"xml string",
  pdf_file=>"pdf base 64"
}
    === Respuesta del servidor cuando la factura no se lográ timbrar, status: 201
{
  id: 16,
  invoice_status: "No timbrada",
  paid_status: "true",
  mensaje: "Se creó la factura exitosamente pero no se logró timbrar",
  error: "Ocurrió un problema, intente nuevamente en unos minutos. Contacte al administrador si persiste el problema"
}

Parámetros

Nombre del parámetro Descripción
invoice_status
requerido

Estatus de la factura

Validations:

  • Must be one of: Timbrada, No timbrada, Cancelada.

paid_status
requerido

Índica si la factura esta cobrada o no

Validations:

  • Must be one of: true, false.

name
requerido

Nombre del objeto (Cliente, Sucursal, Empresa)

Validations:

  • Must be String

address_attributes
opcional

Objeto que representa la direccion de una Sucursal)

Validations:

  • Must be Object

serie
requerido

Letra de serie para las facturas o las sucursales

Validations:

  • Must be String

folio
requerido

Número de folio para las facturas o las sucursales

Validations:

  • Must be a number.

date
requerido

Fecha y hora de creación de la factura

Validations:

  • Must be String

payment_form
requerido

Forma de pago de la factura

Validations:

  • Must be one of: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11.


Metadata:
1: Efectivo
2: Cheque nominativo
3: Transferencia electrónica de fondos
4: Tarjeta de crédito
5: Monedero electrónico
6: Dinero electrónico
7: Vales de despensa
8: Tarjeta de débito
9: Tarjeta de servicio
10: Otros
num_account
opcional

Número de cuenta para el deposito

Validations:

  • Must be String

payment_conditions
opcional

Condiciones para efectuar el pago

Validations:

  • Must be String

note
opcional

Alguna nota adicional que puede tener la factura

Validations:

  • Must be String

discount_amount
opcional

Cantidad de descuento

Validations:

  • Must be a number.

issuer_rfc
requerido

RFC de la empresa que emite la factura

Validations:

  • Must be a number.

branch_name
requerido

Nombre de la sucursal donde se emite la factura

Validations:

  • Must be a number.

receptor_rfc
requerido

RFC del cliente que recibe la factura

Validations:

  • Must be a number.

money_id
requerido

id del tipo de moneda que maneja la factura

Validations:

  • Must be one of: 1, 2.


Metadata:
1: MXN
2: USD
discount_type_id
requerido

id del tipo de descuento que maneja la factura

Validations:

  • Must be one of: 1, 2, 3.


Metadata:
1: Ninguno
2: Precio
3: Porcentaje
receipt_type_id
requerido

id del tipo de

Validations:

  • Must be one of: 1, 2, 3, 4, 5.


Metadata:
1: Ingreso
2: Egreso
3: Traslado
4: Nomina
5: Pago
payment_method_id
requerido

id de los métodos de pago de la factura. Para más información ver el siguierte enlace www.sat.gob.mx/fichas_tematicas/buzon_tributario/Documents/catalogo_metodos_pago.pdf

Validations:

  • Must be one of: 1, 2.


Metadata:
1: Pago en una sola exhibición
2: Pago en parcialidades o diferido
invoice_type_id
requerido

id del tipo de factura

Validations:

  • Must be one of: 1, 2, 3.


Metadata:
1: Factura
2: Recibo de Honorarios
3: No aplica
purpose_cfdi_id
requerido

Uso del CFDI(Consultar Servicio purpose_cfdis)

Validations:

  • Must be Integer

branch_id
requerido

ID de sello digital de la empresa que emite la factura

Validations:

  • Must be Integer

key_sat
requerido

CLave de producto del SAT

Validations:

  • Must be String

measure_unit_id
requerido

Unidad de medida para el concepto

Validations:

  • Must be String

iva_retencion_type_id
opcional

id del tipo de retencion que se le va aplicar al recibo de honorario

Validations:

  • Must be one of: 1, 2.


Metadata:
1: 2/3
2: 4%
concepts_attributes
requerido

Hash de objetos que representan los conceptos de las factura, con índices para cada objeto concepto

Validations:

  • Must be Hash

quantity
requerido

Cantidad del concepto

Validations:

  • Must be String

unit
requerido

Unidad del concepto

Validations:

  • Must be String

description
requerido

Descripción del concepto

Validations:

  • Must be String

price
requerido

Precio del concepto

Validations:

  • Must be String

iva_type_id
requerido

id del tipo de IVA aplicada al concepto

Validations:

  • Must be one of: 1, 2, 3.


Metadata:
1: Tasa del 16%
2: Tasa Cero
3: Exento de IVA
social_reason
requerido

Razón social del cliente

Validations:

  • Must be String

rfc
requerido

RFC del cliente

Validations:

  • Must be String

email
requerido

Correo del cliente

Validations:

  • Must be String

phone
requerido

Teléfono de la sucursal

Validations:

  • Must be String

street
requerido

Calle(s) de la direción

Validations:

  • Must be String

num_internal
requerido

Número interior de la direción

Validations:

  • Must be String

num_outside
opcional

Número exterior de la direción

Validations:

  • Must be String

colony
requerido

Colonia de la direción

Validations:

  • Must be String

location
requerido

Localidad de la direción

Validations:

  • Must be String

municipality
requerido

Municipio de la direción

Validations:

  • Must be String

reference
requerido

Referencia de la dirección

Validations:

  • Must be String

state_id
requerido

id del estado de la dirección

Validations:

  • Must be String

cp
opcional

04930

Validations:

  • Must be String


GET /invoices/:invoice_id/stamp
Permite timbrar una factura

Formatos soportados

json

Errores

Code Description Metadata
401 Unauthorized
:status: status
:message: error_message
404 Not Found
:status: status
:message: error_message
500 Server crashed
:status: status
:message: error_message

Ejemplos

    === Respuesta del servidor cuando la factura se lográ timbrar, status: 200
{
  id: 17,
  invoice_status: {
        "id"=>2,
        "name"=>"Timbrada"
  },
  paid_status: "false",
  message: "La factura fue timbrada exitósamente"
  xml: "xml string",
  pdf_file: "pdf base 64"
}
    === Respuesta del servidor cuando la factura no se lográ timbrar, status: 200
{
  id: 16,
  invoice_status: {
        "id"=>1,
        "name"=>"Pendiente"
  },
  action_recommended: 1
  paid_status: "false",
  message: "No se logró timbrar la factura",
  error: "Ocurrió un problema, intente nuevamente en unos minutos. Contacte al administrador si persiste el problema"
}

Parámetros

Nombre del parámetro Descripción
id
requerido

id de la factura

Validations:

  • Must be a number.

invoice_status
requerido

Estatus de la factura

Validations:

  • Must be one of: Timbrada, No timbrada, Cancelada.

paid_status
requerido

Índica si la factura esta cobrada o no

Validations:

  • Must be one of: true, false.

name
requerido

Nombre del objeto (Cliente, Sucursal, Empresa)

Validations:

  • Must be String

address_attributes
opcional

Objeto que representa la direccion de una Sucursal)

Validations:

  • Must be Object

serie
requerido

Letra de serie para las facturas o las sucursales

Validations:

  • Must be String

folio
requerido

Número de folio para las facturas o las sucursales

Validations:

  • Must be a number.

xml
opcional

XML con la informacion de la factura

Validations:

  • Must be String

pdf_file
opcional

PDF con la información de la factura (base64)

Validations:

  • Must be String

message
requerido

Mensaje general que devuelve el servidor

Validations:

  • Must be String

error
opcional

Errores especificos

Validations:

  • Must be String


POST /invoices/update_date
Permite actualizar la fecha de un documento (Factura, recibo de honorario o nota de credito)

Formatos soportados

json

Errores

Code Description Metadata
401 Unauthorized
:status: status
:message: error_message
404 Not Found
:status: status
:message: error_message
422 Unprocessable Entity
:status: status
:errors: []
500 Server crashed
:status: status
:message: error_message

Ejemplos

    === Respuesta del servidor cuando la fecha del documento se lográ actualizar, status: 200
{
  message: "Se actualizo la fecha del documento"
}

Parámetros

Nombre del parámetro Descripción
id
requerido

id del documento

Validations:

  • Must be a number.

date
requerido

Fecha del documento

Validations:

  • Must be String


GET /invoices/:invoice_id/cancel
Permite cancelar una factura

Formatos soportados

json

Errores

Code Description Metadata
401 Unauthorized
:status: status
:message: error_message
404 Not Found
:status: status
:message: error_message
500 Server crashed
:status: status
:message: error_message

Ejemplos

    === Respuesta del servidor cuando la factura se lográ cancelar, status: 200
{
  id: 24,
  invoice_status: {id: 3, name: "Cancelado"},
  message: "La factura fue cancelado exitosamente",
  acuse: "xml string",
  pdf: "pdf base 64"
}
    === Respuesta del servidor cuando la factura no ha sido previamente timbrada, status: 200
{
  id: 25,
  invoice_status: {id: 2, name: "Timbrada"},
  message: "Ocurrió un problema, intente nuevamente en unos minutos. Contacte al administrador si persiste el problema"
}

Parámetros

Nombre del parámetro Descripción
id
requerido

id de la factura

Validations:

  • Must be a number.

invoice_status
requerido

Estatus de la factura

Validations:

  • Must be one of: Timbrada, No timbrada, Cancelada.

message
requerido

Mensaje general que devuelve el servidor

Validations:

  • Must be String

acuse
opcional

Acuse de cancelacion de la factura

Validations:

  • Must be String

pdf
opcional

Documento PDF actualizado con una marca de agua de cancelacion

Validations:

  • Must be String