Registro de Facturas de Proveedores (CxP)

Con nuestro servicio Enlazatte podrás registrar facturas de tus proveedores en tu sistema Contpaqi Comercial.

Request para registrar nueva factura de proveedor

La petición es una petición tipo POST, al endpoint /invoices, (API Reference ...), como parámetros QueryString envías el Token que previamente debiste haber generado (Ve como generar un token ...), dentro del body del request enviarás una estructura tipo JSON con la información de la factura del proveedor que se desea generar, en el encabezado del request se envía el Content-Type con valor application/x-www-form-urlencoded.


Consideraciones Request Data

  • fecha: El formato de la fecha del documento es "yyyy-MM-ddTHH:mm:ss", ej: 2019-11-30T10:26:58
  • serie: Se enviará la serie del documento que se generará SIN el folio interno, ya que el sistema Contpaqi Comercial generará el folio consecutivo que le corresponda.
  • Moneda: Se enviará el código de moneda correspondiene (MXN o USD).
  • TipoDocumento: El tipo de documento es el Concepto del documento correspondiente a la factura de proveedores en el sistema Contpaqi Comercial.
  • Emisor: Es el RFC de la empresa emisora del documento.
  • CodigoCliente: Este valor, en el caso de enviar una factura de proveedor será el código de proveedor, &eeacute;ste debe estar previamente creado en el sistema Contpaqi Comercial, ya sea de forma manual directamente en el sistema o bien por medio de Enlazatte con el endpoint para creación de proveedores API Reference ....
  • Conceptos[n][codigo]: Es el código del producto o servicio en el sistema Contpaqi Comercial que se va a facturar.
  • Conceptos[n][valorUnitario]: Es el precio unitario, sin impuestos.


public function crearFactura($json)
    {
        $this->code    = null;
        $this->message = null;

        try {
            $url = $this->baseUri . 'invoices';

            $response = $this->client->request('POST', $url, array(
                'query' => array('token' => $this->token),
                'body' => json_encode($json)
            ));

            $responseData  = json_decode($response->getBody()->getContents());

            return $responseData;
        } catch (RequestException $e) {
            $statusCode   = $e->getResponse()->getStatusCode();
            $responseData = json_decode($e->getResponse()->getBody()->getContents());

            switch ($statusCode) {
                case 400:
                    $this->message = 'Token invalido.';
                    break;
                case 401:
                    $this->message = 'Token expirado.';
                    break;
                case 422:
                    $this->message = $responseData->error->message;
                    break;
                case 500:
                    $this->message = 'Error, al generar el documento.';
                    break;
            }
            $this->code = $statusCode;
        }
    
{
  "fecha": "2020-01-01T10:32:57",
  "serie": "A",
  "Moneda": "MXN",
  "TipoCambio": "1.00",
  "formaDePago": "2",
  "metodoDePago": "99",
  "Emisor": "LAN7008173R5",
  "CodigoCliente": "PROVEE0001",
  "TipoDocumento": "21",
  "Conceptos": [
    {
      "codigo": "PROD0001",
      "cantidad": 1,
      "descripcion": "Descripcion detallada del producto",
      "valorUnitario": 150
    }
  ]
}



















{
    "error": "token_expired"
}

































{
    "error": {
        "message": "No se encontró el proveedor con código: PROVEE0001",
        "status_code": 422
    }
}































Response exitoso

El response de la petición es una estructura tipo JSON donde se devuelven los siguientes valores en caso de ser una petición exitosa:

  • xml: En este caso por ser un documento de cuenta por pagar, no es un documento fiscal (que genere imbre) entonces esta variable la retornará vacía.
  • pdf: En este caso por ser un documento de cuenta por pagar, no es un documento fiscal (que genere imbre) entonces esta variable la retornará vacía.
  • uuid: En este caso por ser un documento de cuenta por pagar, no es un documento fiscal (que genere imbre) entonces esta variable la retornará vacía.
  • message: En el caso de generar correctamente el documento se indicará en esta variable con un valor: Documento generado sin timbrado.

Screenshot Insomnia

Login Insomnia

¿Listo para empezar?

Escribenos y comprueba lo rápido y sencillo que es enlazarte con Contpaqi, genera pedidos, cotizaciones, facturas, pagos, clientes, productos y timbra documentos desde tus propios sistemas aprovechando el protencial de tu empresa al máximo.