Emisión de Comprobantes Fiscales
(CFDI y CFDI Que amparan Retenciones e Información de Pagos)

Sovos Reachcore pone a su disposición una nueva versión del servicio web para la emisión de comprobantes fiscales en la cual se podrá emitir Comprobantes Fiscales Digitales por Internet (CFDI) versiones 3.3 y 4.0, así como Comprobantes Fiscales Digitales a través de Internet que ampara retenciones e información de pagos versiones 1.0 y 2.0. En el servicio de emisión, a diferencia del servicio de timbrado, Reachcore se encarga de realizar el sello del comprobante fiscal empleando el Certificado de Sello Digital del emisor del comprobante, que previamente fue configurado.

Contenido

Características generales

El web service de emisión de Reachcore puede emitir los siguientes tipos de comprobantes fiscales:

  • Comprobantes Fiscales Digitales por Internet (CFDI) versión 3.3
  • Comprobantes Fiscales Digitales por Internet (CFDI) versión 4.0
  • Comprobantes Fiscales Digitales a través de Internet que ampara retenciones e información de pagos versión 1.0
  • Comprobantes Fiscales Digitales a través de Internet que ampara retenciones e información de pagos versión 2.0

Reachcore realiza los siguientes pasos en el procesamiento para emitir el comprobante:

  1. Verificar la estructura del comprobante conforme lo definido por el SAT en el Anexo 20.
  2. Generar el sello del comprobante usando el Certificado de Sello Digital del emisor (previamente registrado en Reachcore)
  3. Si el comprobante cumple con todas las validaciones definidas por el SAT (tanto de estructura como de datos), se procederá con la certificación (timbrado) del comprobante.
  4. Entregar el resultado del proceso de emisión del comprobante fiscal; en caso se ser exitoso, el comprobante certificado (timbrado).
  5. Entregar el comprobante certificado al SAT.
  6. Resguardar el comprobante certificado en nuestra bóveda digital.

Adicionalmente, el servicio de emisión puede generar una representación impresa del comprobante fiscal conforme a lo establecido por el SAT, asi como la que el emisor requiera. Dicha representación se entrega como un archivo PDF.

¿Qué necesito?

Para poder hacer uso del servicio se necesita lo siguiente:

  • Contar con un contrato de servicios con Reachcore. En caso de no tener uno, por favor envía un correo a sales-mexico@sovos.com
  • Haber generado un API Key en tu cuenta Reachcore, ya que éste es un identificador que te autentica en los Web Services de la plataforma. Para generar el API Key, puedes consultar este artículo: Generar API Key para Web Services.
  • Registrar en el portal de Reachcore el RFC del emisor del comprobante, junto con el Certificado de Sello Digital. Para llevar a cabo este proceso, consulta el siguiente artículo: Agregar una razón social (emisor de comprobantes).
  • Generar el XML del comprobante, considerando que cumpla con el esquema (estructura), así como con los valores en los atributos paran cumplir con las reglas de validación que han sido definidas por el SAT.
  • Poder invocar un web service, publicado en internet mediante una conexión segura (SSL).

Ubicación del servicio

Las URL donde se encuentran las definiciones del Web Service (WSDL) para los distintos ambientes son las siguientes:

Ambiente Ubicación de WSDL
Piloto https://oat.reachcore.com/api/ws/6.0/pacservices/Emision.svc/basic?wsdl
Producción https://go.reachcore.com/api/ws/6.0/pacservices/Emision.svc/basic?wsdl

Validaciones en el proceso de emisión

Para que un comprobante pueda ser emitido por Reachcore, se debe considerar lo siguiente:

Estructura

El comprobante fiscal se valida contra el esquema (XSD) publicado por el SAT.

Prefijo
  • Para CFDI 3.3, el prefijo para el namespace http://www.sat.gob.mx/cfd/3 debe ser cfdi
  • Para CFDI 4.0, el prefijo para el namespace http://www.sat.gob.mx/cfd/4 debe ser cfdi
  • Para CFDI de retenciones e información de pagos 1.0, el prefijo para el namespace http://www.sat.gob.mx/esquemas/retencionpago/1 debe ser retenciones
  • Para CFDI de retenciones e información de pagos 2.0, el prefijo para el namespace http://www.sat.gob.mx/esquemas/retencionpago/2 debe ser retenciones

Ejemplo de prefijo incorrecto:

<?xml version="1.0" encoding="utf-8"?>
<ns:Comprobante xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:ns="http://www.sat.gob.mx/cfd/3" xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv32.xsd"
    version="3.3" Serie="ABC" Folio="0001" Fecha="2012-06-20T00:00:01"
    ...

Ejemplo de prefijo correcto:

<?xml version="1.0" encoding="utf-8"?>
<cfdi:Comprobante xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv32.xsd"
    version="3.3" Serie="ABC" Folio="0001" Fecha="2012-06-20T00:00:01"
    ...
Fecha de emisión del comprobante
  • El valor en el atributo Fecha del elemento Comprobante, no puede ser mayor a 72 horas naturales.
  • La fecha y hora de expedición puede estar hasta 5 minutos en el futuro al momento de su validación.
  • Para los Comprobantes Fiscales Digitales a través de Internet que ampara Retenciones e Información de pagos, el estándar técnico indica que la FechaTimbrado debe corresponder con la hora de la Zona Centro del Sistema de Horario en México.

El SAT define en el Anexo 20 para el CFDI 3.3 y CFDI 4.0, en la sección F. Validaciones adicionales a realizar por el proveedor, en relación al atributo Fecha del elemento Comprobante:

Al momento de la recepción del archivo XML por parte del Proveedor de Certificación, éste debe verificar que la fecha y hora no debe ser:

  • Mayor que la fecha y hora aumentada en el plazo que se especifique en la Resolución Miscelánea Fiscal vigente - Obligaciones de los proveedores en el proceso de certificación de CFDI.
  • Menor que la fecha y hora disminuida en el plazo que se especifique en la Resolución Miscelánea Fiscal vigente - Obligaciones de los proveedores en el proceso de certificación de CFDI

Complementos y Addendas

Para emitir un comprobante fiscal con algún complemento, ya sea para CFDI o Retenciones, debe de considerarse lo siguiente:

  • Incluir en el CFDI el complemento según se requiera, el XML que cumpla con la estructura definida para el complemento (incluyendo el namespace, así como el prefijo definido para cada complemento), dentro del elemento correspondiente:

  • CFDI

    • cfdi:ComplementoConcepto
    • cfdi:Complementos
  • Retenciones
    • retenciones:Complemento

Como referencia, puedes consultar las siguientes ligas para los complementos que están publicados por el SAT y soportados por Reachcore:

Para emitir un comprobante con addenda, el servicio puede recibir solicitudes con o sin Addenda. La información contenida dentro del elemento cfdi:Addenda tiene que ver con información no fiscal para uso, ya sea del emisor o el receptor, por lo que no se realiza ningún tipo de validación en su contenido.

Método [EmitirComprobante]

En este método del web service, se realiza la solicitud para la emisión de un Comprobantes Fiscales Digitales por Internet (CFDI) versión 3.3 o versión 4.0, o un Comprobante Fiscal Digital a través de Internet que ampara retenciones e información de pagos versión 1.0 o 2.0, conforme a la definición del Anexo 20 publicada por el SAT. A continuación, se describe la solicitud y la respuesta de este servicio:

Solicitud EmitirComprobante

Elemento Uso Descripción
ApiKey Requerido Identificador de autenticación, que se genera en el portal de Reachcore.
Comprobante Requerido Contiene el XML del CFDI en la versión del esquema correspondiente al comprobante a emitir: definidos por el SAT, que será emitido. El XML se envía dentro de un ensobretado <![CDATA[...]]>.
CustomData Opcional Puede incluirse una estructura XML con datos que se necesitan mostrar en la representación impresa. Mas detalles
TransactionProperty Opcional Son parámetros que indican a Reachcore algún tratamiento especial a realizar con el CFDI que se está emitiendo. Mas detalles
Domicilios Opcional Debido a que en las versiones 3.3 y 4.0 del CFDI ya no existen atributos para colocar la dirección, Reachcore ha integrado una sección para que puedan mostrarse dichos valores en la representación impresa. Mas detalles


Para el servicio de emisión se puede especificar el certificado con el cual se debe realizar el sellado del emisor, en caso de haber más de un certificado registrado para un mismo RFC en tu cuenta Reachcore. Para ello, es necesario especificar el número de serie del certificado de sello digital (CSD) a utilizar dentro del CFDI, en el atributo NoCertificado (para CFDI) o NumCert(para Retenciones) en la solicitud de emisión. Si se especifica un certificado que no esté registrado en tu cuenta, se notificará como error y no se procesará.
El siguiente es un ejemplo de una solicitud de emisión para CFDI ver. 3.3 donde se especifica el número de certificado. Para este ejemplo se asume que se tienen cargados y activos los CSD para el RFC AAA010101AAA con los números de certificado 30001000000300023699, 30001000000300023706, y 30001000000300023708:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cus="http://www.reachcore.com/CFDI/customHeaders" xmlns:urn="urn:reachcore.com:services:api:ws:pacservices:6.0">
   <soapenv:Header>
      <cus:ApiKey>51e9d1097f634....d933f769303391008</cus:ApiKey>
   </soapenv:Header>
   <soapenv:Body>
      <urn:EmitirComprobanteRequest>
         <urn:Comprobante><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
            <cfdi:Comprobante NoCertificado="30001000000300023706" Fecha="2021-03-26T00:00:00" FormaPago="01" MetodoPago="PUE" LugarExpedicion="01000" Moneda="MXN" SubTotal="2500.00" TipoDeComprobante="I" Total="2650.00" Version="3.3"
            xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv33.xsd">
                <cfdi:Emisor Rfc="AAA010101AAA" RegimenFiscal="601" />
                <cfdi:Receptor Rfc="XAXX010101000" UsoCFDI="G03"/>
                <cfdi:Conceptos>
                    <cfdi:Concepto Cantidad="5.00" ClaveProdServ="01010101" ClaveUnidad="C81" Descripcion="descripción del concepto" Importe="2500.00" ValorUnitario="500.00">
                        <cfdi:Impuestos>
                            <cfdi:Traslados>
                                <cfdi:Traslado Base="2500.00" Importe="400" Impuesto="002" TasaOCuota="0.160000" TipoFactor="Tasa"/>
                            </cfdi:Traslados>
                            <cfdi:Retenciones>
                                <cfdi:Retencion Base="2500.00" Importe="250.00" Impuesto="001" TasaOCuota="0.100000" TipoFactor="Tasa"/>
                            </cfdi:Retenciones>
                        </cfdi:Impuestos>
                    </cfdi:Concepto>
                </cfdi:Conceptos>
                <cfdi:Impuestos TotalImpuestosRetenidos="250" TotalImpuestosTrasladados="400">
                    <cfdi:Retenciones>
                        <cfdi:Retencion Importe="250" Impuesto="001"/>
                    </cfdi:Retenciones>
                    <cfdi:Traslados>
                        <cfdi:Traslado Importe="400" Impuesto="002" TasaOCuota="0.160000" TipoFactor="Tasa"/>
                    </cfdi:Traslados>
                </cfdi:Impuestos>
            </cfdi:Comprobante>]]></urn:Comprobante>
      </urn:EmitirComprobanteRequest>
   </soapenv:Body>
</soapenv:Envelope>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <EmitirComprobanteResponse xmlns="urn:reachcore.com:services:api:ws:pacservices:6.0">
         <TransactionId>8d93fc00-3b3f-44a0-82ea-15a85b9543db</TransactionId>
         <Result><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<cfdi:Comprobante NoCertificado="30001000000300023706" Fecha="2021-03-26T00:00:00" FormaPago="01" MetodoPago="PUE" LugarExpedicion="01000" Moneda="MXN" SubTotal="2500.00" TipoDeComprobante="I" Total="2650.00" Version="3.3" xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Certificado="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" Sello="I2WrtJVfwcJLwG5uQnKAbmF+wGfdyRbjon3OqPfRfg52IdbExXebxaVVi3k7CtRuX4NJb0jvqGE3rHQNNu4XgTK2L0EdQzEvpUa4r4yUoTmIOiPHOpJD7Lxev5nJfyJdeTi5xuKIqsn7yJ6/sMufMx1OEPFJqnev68jzGl4dCte8evkwAZoqAdyu4EY9skgoXFqWUdtEu7/8fcXrKNvgnW9ZCy0tHXDK4JWG0xUrVLbL98Gt7sK7EtIXtW4q/1eTTqQGG0oiGlVtufGXPnT+eOENbenljPm7qP+i/gdjjRRa2Nw8dkra4jFSWAAaQyx8Cx0A3TMo8eki+VO92oOppw==" xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv33.xsd">
  <cfdi:Emisor Rfc="AAA010101AAA" RegimenFiscal="601" />
  <cfdi:Receptor Rfc="XAXX010101000" UsoCFDI="G03" />
  <cfdi:Conceptos>
    <cfdi:Concepto Cantidad="5.00" ClaveProdServ="01010101" ClaveUnidad="C81" Descripcion="descripción del concepto" Importe="2500.00" ValorUnitario="500.00">
      <cfdi:Impuestos>
        <cfdi:Traslados>
          <cfdi:Traslado Base="2500.00" Importe="400" Impuesto="002" TasaOCuota="0.160000" TipoFactor="Tasa" />
        </cfdi:Traslados>
        <cfdi:Retenciones>
          <cfdi:Retencion Base="2500.00" Importe="250.00" Impuesto="001" TasaOCuota="0.100000" TipoFactor="Tasa" />
        </cfdi:Retenciones>
      </cfdi:Impuestos>
    </cfdi:Concepto>
  </cfdi:Conceptos>
  <cfdi:Impuestos TotalImpuestosRetenidos="250" TotalImpuestosTrasladados="400">
    <cfdi:Retenciones>
      <cfdi:Retencion Importe="250" Impuesto="001" />
    </cfdi:Retenciones>
    <cfdi:Traslados>
      <cfdi:Traslado Importe="400" Impuesto="002" TasaOCuota="0.160000" TipoFactor="Tasa" />
    </cfdi:Traslados>
  </cfdi:Impuestos>
  <cfdi:Complemento>
    <tfd:TimbreFiscalDigital xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/sitio_internet/cfd/TimbreFiscalDigital/TimbreFiscalDigitalv11.xsd" Version="1.1" UUID="EEB389AB-450A-48EB-B340-708A81C549CA" FechaTimbrado="2021-03-26T15:45:14" RfcProvCertif="ASE0201179X0" SelloCFD="I2WrtJVfwcJLwG5uQnKAbmF+wGfdyRbjon3OqPfRfg52IdbExXebxaVVi3k7CtRuX4NJb0jvqGE3rHQNNu4XgTK2L0EdQzEvpUa4r4yUoTmIOiPHOpJD7Lxev5nJfyJdeTi5xuKIqsn7yJ6/sMufMx1OEPFJqnev68jzGl4dCte8evkwAZoqAdyu4EY9skgoXFqWUdtEu7/8fcXrKNvgnW9ZCy0tHXDK4JWG0xUrVLbL98Gt7sK7EtIXtW4q/1eTTqQGG0oiGlVtufGXPnT+eOENbenljPm7qP+i/gdjjRRa2Nw8dkra4jFSWAAaQyx8Cx0A3TMo8eki+VO92oOppw==" NoCertificadoSAT="30001000000300036825" SelloSAT="GmQb6WlwR7WKBxgDeFpuHOx97ULY9RtaMwQSLjjMjESStYZuhrAMavONCRNlZz1eR9cX07/11ifqKLXtVvN8OflIMybHH4IMCKyNW2esltlySTaS06ZTBMStMiXDjd41HMa2r4aRF3+wBVgCBrbQi/7XNyqKoYLyC8q7GrZf2P9tfAZDFJxkCy/q1Hlly1nGLUeq3XOqPUTYCOiSgCVy9UCaj7ABxkyiOVjnpJv1QDmf5WCpQaogM/lZm4/mmo5zu0mPY090TS3cQqGwFdm1XVeaKc1M+kkfOXPQmmWBpwiLzfHLriv12xq5lTgH5ebjNOTMqqGafvtpDQ7Ik0v5TQ==" />
  </cfdi:Complemento>
</cfdi:Comprobante>]]></Result>
         <TransactionProperties>
            <TransactionProperty Key="CFD.RFCEmisor" Value="AAA010101AAA"/>
            <TransactionProperty Key="CFD.RFCReceptor" Value="XAXX010101000"/>
            <TransactionProperty Key="CFD.Serie" Value=""/>
            <TransactionProperty Key="CFD.Folio" Value=""/>
            <TransactionProperty Key="CFD.FechaEmision" Value="2021-03-26T00:00:00"/>
            <TransactionProperty Key="Timbre.UUID" Value="EEB389AB-450A-48EB-B340-708A81C549CA"/>
            <TransactionProperty Key="Timbre.FechaTimbrado" Value="2021-03-26T15:45:14"/>
            <TransactionProperty Key="Timbre.NoCertificadoSAT" Value="30001000000300036825"/>
            <TransactionProperty Key="Timbre.CadenaOriginal" Value="||1.1|EEB389AB-450A-48EB-B340-708A81C549CA|2021-03-26T15:45:14|ASE0201179X0|I2WrtJVfwcJLwG5uQnKAbmF+wGfdyRbjon3OqPfRfg52IdbExXebxaVVi3k7CtRuX4NJb0jvqGE3rHQNNu4XgTK2L0EdQzEvpUa4r4yUoTmIOiPHOpJD7Lxev5nJfyJdeTi5xuKIqsn7yJ6/sMufMx1OEPFJqnev68jzGl4dCte8evkwAZoqAdyu4EY9skgoXFqWUdtEu7/8fcXrKNvgnW9ZCy0tHXDK4JWG0xUrVLbL98Gt7sK7EtIXtW4q/1eTTqQGG0oiGlVtufGXPnT+eOENbenljPm7qP+i/gdjjRRa2Nw8dkra4jFSWAAaQyx8Cx0A3TMo8eki+VO92oOppw==|30001000000300036825||"/>
            <TransactionProperty Key="RESULT.PdfUrl" Value="https://oat.reachcore.com/api/rest/Timbre/Get?uuid=eeb389ab-450a-48eb-b340-708a81c549ca&format=pdf"/>
         </TransactionProperties>
      </EmitirComprobanteResponse>
   </s:Body>
</s:Envelope>

Cuando no se especifique el número de certificado del CSD, Reachcore tomará el primer certificado que corresponda el RFC emisor que se encuentre vigente.


El siguiente es un ejemplo de una solicitud de emisión de CFDI 3.3 donde no se especifica el número de certificado:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cus="http://www.reachcore.com/CFDI/customHeaders" xmlns:urn="urn:reachcore.com:services:api:ws:pacservices:6.0">
   <soapenv:Header>
      <cus:ApiKey>51e9d1097f634....d933f769303391008</cus:ApiKey>
   </soapenv:Header>
   <soapenv:Body>
      <urn:EmitirComprobanteRequest>
         <urn:Comprobante><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
            <cfdi:Comprobante Fecha="2021-02-26T00:00:00" FormaPago="01" MetodoPago="PUE" LugarExpedicion="01000" Moneda="MXN" SubTotal="2500.00" TipoDeComprobante="I" Total="2650.00" Version="3.3"
            xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv33.xsd">
                <cfdi:Emisor Rfc="AAA010101AAA" RegimenFiscal="601" />
                <cfdi:Receptor Rfc="XAXX010101000" UsoCFDI="G03"/>
                <cfdi:Conceptos>
                    <cfdi:Concepto Cantidad="5.00" ClaveProdServ="01010101" ClaveUnidad="C81" Descripcion="descripción del concepto" Importe="2500.00" ValorUnitario="500.00">
                        <cfdi:Impuestos>
                            <cfdi:Traslados>
                                <cfdi:Traslado Base="2500.00" Importe="400" Impuesto="002" TasaOCuota="0.160000" TipoFactor="Tasa"/>
                            </cfdi:Traslados>
                            <cfdi:Retenciones>
                                <cfdi:Retencion Base="2500.00" Importe="250.00" Impuesto="001" TasaOCuota="0.100000" TipoFactor="Tasa"/>
                            </cfdi:Retenciones>
                        </cfdi:Impuestos>
                    </cfdi:Concepto>
                </cfdi:Conceptos>
                <cfdi:Impuestos TotalImpuestosRetenidos="250" TotalImpuestosTrasladados="400">
                    <cfdi:Retenciones>
                        <cfdi:Retencion Importe="250" Impuesto="001"/>
                    </cfdi:Retenciones>
                    <cfdi:Traslados>
                        <cfdi:Traslado Importe="400" Impuesto="002" TasaOCuota="0.160000" TipoFactor="Tasa"/>
                    </cfdi:Traslados>
                </cfdi:Impuestos>
            </cfdi:Comprobante>]]></urn:Comprobante>
      </urn:EmitirComprobanteRequest>
   </soapenv:Body>
</soapenv:Envelope>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <EmitirComprobanteResponse xmlns="urn:reachcore.com:services:api:ws:pacservices:6.0">
         <TransactionId>1606ff4a-95a5-47b3-a879-15b8880d8ad2</TransactionId>
         <Result><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<cfdi:Comprobante Fecha="2021-02-26T00:00:00" FormaPago="01" MetodoPago="PUE" LugarExpedicion="01000" Moneda="MXN" SubTotal="2500.00" TipoDeComprobante="I" Total="2650.00" Version="3.3" xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" NoCertificado="30001000000300023699" Certificado="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" Sello="NrJRCaVRrDG7Fx55EMHAOXxAZBXquHLt3l580IYcQolUm9DYSehghrr0IWG2oUL2n4wOe4T3VK3VqTXqH+oAsY5BnWoNSLv2/BThKYst80hk7Gnq4HGonEYV6xYfE/1crt5G//iOPKwC8nwLvCFUaI5sSQjHnUpocwlt60MUVKIvWO0DwYNghUe0cSkcCIErLM16f+9nM3TJ8JlanEErmeLCVCrEzy5Jo6sKNW4wBdOKvEZo5lHxTbMDtM2DfGsKa+BVR4Z0voGHr0mjOT2KehPBSEf8Hrp5g67TjDf3Unb7PBWNRDMhUJwb0O5mKGlzSjoEqeqlumh4s3SUFhCb8g==" xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv33.xsd">
  <cfdi:Emisor Rfc="AAA010101AAA" RegimenFiscal="601" />
  <cfdi:Receptor Rfc="XAXX010101000" UsoCFDI="G03" />
  <cfdi:Conceptos>
    <cfdi:Concepto Cantidad="5.00" ClaveProdServ="01010101" ClaveUnidad="C81" Descripcion="descripción del concepto" Importe="2500.00" ValorUnitario="500.00">
      <cfdi:Impuestos>
        <cfdi:Traslados>
          <cfdi:Traslado Base="2500.00" Importe="400" Impuesto="002" TasaOCuota="0.160000" TipoFactor="Tasa" />
        </cfdi:Traslados>
        <cfdi:Retenciones>
          <cfdi:Retencion Base="2500.00" Importe="250.00" Impuesto="001" TasaOCuota="0.100000" TipoFactor="Tasa" />
        </cfdi:Retenciones>
      </cfdi:Impuestos>
    </cfdi:Concepto>
  </cfdi:Conceptos>
  <cfdi:Impuestos TotalImpuestosRetenidos="250" TotalImpuestosTrasladados="400">
    <cfdi:Retenciones>
      <cfdi:Retencion Importe="250" Impuesto="001" />
    </cfdi:Retenciones>
    <cfdi:Traslados>
      <cfdi:Traslado Importe="400" Impuesto="002" TasaOCuota="0.160000" TipoFactor="Tasa" />
    </cfdi:Traslados>
  </cfdi:Impuestos>
  <cfdi:Complemento>
    <tfd:TimbreFiscalDigital xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/sitio_internet/cfd/TimbreFiscalDigital/TimbreFiscalDigitalv11.xsd" Version="1.1" UUID="1DC3FD54-62AA-426C-9A89-5D864BEBFFD8" FechaTimbrado="2021-02-26T12:04:33" RfcProvCertif="ASE0201179X0" SelloCFD="NrJRCaVRrDG7Fx55EMHAOXxAZBXquHLt3l580IYcQolUm9DYSehghrr0IWG2oUL2n4wOe4T3VK3VqTXqH+oAsY5BnWoNSLv2/BThKYst80hk7Gnq4HGonEYV6xYfE/1crt5G//iOPKwC8nwLvCFUaI5sSQjHnUpocwlt60MUVKIvWO0DwYNghUe0cSkcCIErLM16f+9nM3TJ8JlanEErmeLCVCrEzy5Jo6sKNW4wBdOKvEZo5lHxTbMDtM2DfGsKa+BVR4Z0voGHr0mjOT2KehPBSEf8Hrp5g67TjDf3Unb7PBWNRDMhUJwb0O5mKGlzSjoEqeqlumh4s3SUFhCb8g==" NoCertificadoSAT="30001000000300036825" SelloSAT="XQMVun6q/RTV3V+2QzWp5anygzlzXx1wZHLVQBnsHwD07j+doY9Pe1BRCU1nJJQ32q2zBlSYTRGWQtIjMLgkBVamBpyokDpSkmsxrMHYqefSmS0iiPzu9anF0DcYAFCqNBR3qbbFF94qPGlhYtyWtfpNL4tpT3kBiJJnCg7zqz6Wlo5WV89f7M+2ykDReKslxqaw7LVNwvUAQvkLhhii8tll1IppCc09DH5HgS+lEWQEd51VR7UEehx5ornB5Pyc2G5FbM7TY+DSZxm2b8Msoe2Ex/uoQaZrrNLKO2qHeJQ5yEwE7Tx+6cVZEWsKkcFdz2FlZTDo89h7AU5i4uuy7g==" />
  </cfdi:Complemento>
</cfdi:Comprobante>]]></Result>
         <TransactionProperties>
            <TransactionProperty Key="CFD.RFCEmisor" Value="AAA010101AAA"/>
            <TransactionProperty Key="CFD.RFCReceptor" Value="XAXX010101000"/>
            <TransactionProperty Key="CFD.Serie" Value=""/>
            <TransactionProperty Key="CFD.Folio" Value=""/>
            <TransactionProperty Key="CFD.FechaEmision" Value="2021-02-26T00:00:00"/>
            <TransactionProperty Key="Timbre.UUID" Value="1DC3FD54-62AA-426C-9A89-5D864BEBFFD8"/>
            <TransactionProperty Key="Timbre.FechaTimbrado" Value="2021-02-26T12:04:33"/>
            <TransactionProperty Key="Timbre.NoCertificadoSAT" Value="30001000000300036825"/>
            <TransactionProperty Key="Timbre.CadenaOriginal" Value="||1.1|1DC3FD54-62AA-426C-9A89-5D864BEBFFD8|2021-02-26T12:04:33|ASE0201179X0|NrJRCaVRrDG7Fx55EMHAOXxAZBXquHLt3l580IYcQolUm9DYSehghrr0IWG2oUL2n4wOe4T3VK3VqTXqH+oAsY5BnWoNSLv2/BThKYst80hk7Gnq4HGonEYV6xYfE/1crt5G//iOPKwC8nwLvCFUaI5sSQjHnUpocwlt60MUVKIvWO0DwYNghUe0cSkcCIErLM16f+9nM3TJ8JlanEErmeLCVCrEzy5Jo6sKNW4wBdOKvEZo5lHxTbMDtM2DfGsKa+BVR4Z0voGHr0mjOT2KehPBSEf8Hrp5g67TjDf3Unb7PBWNRDMhUJwb0O5mKGlzSjoEqeqlumh4s3SUFhCb8g==|30001000000300036825||"/>
            <TransactionProperty Key="RESULT.PdfUrl" Value="https://oat.reachcore.com/api/rest/Timbre/Get?uuid=1dc3fd54-62aa-426c-9a89-5d864bebffd8&format=pdf"/>
         </TransactionProperties>
      </EmitirComprobanteResponse>
   </s:Body>
</s:Envelope>

El siguiente es un ejemplo de una solicitud de emisión para Comprobantes Fiscales Digitales a través de Internet que ampara retenciones e información de pagos:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cus="http://www.reachcore.com/CFDI/customHeaders" xmlns:urn="urn:reachcore.com:services:api:ws:pacservices:6.0">
   <soapenv:Header>
      <cus:ApiKey>51e9d1097f634f2....f769303391008</cus:ApiKey>
   </soapenv:Header>
   <soapenv:Body>
      <urn:EmitirComprobanteRequest>
         <urn:Comprobante><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<retenciones:Retenciones Version="1.0" FolioInt="Pruebas" FechaExp="2021-03-26T16:00:00-05:00" CveRetenc="01" xsi:schemaLocation="http://www.sat.gob.mx/esquemas/retencionpago" xmlns:retenciones="http://www.sat.gob.mx/esquemas/retencionpago/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<retenciones:Emisor RFCEmisor="AAA010101AAA"/>
	<retenciones:Receptor Nacionalidad="Nacional">
		<retenciones:Nacional RFCRecep="XAXX010101000"/>
	</retenciones:Receptor>
	<retenciones:Periodo MesIni="1" MesFin="1" Ejerc="2021"/>
	<retenciones:Totales montoTotOperacion="5000.00" montoTotGrav="5000" montoTotExent="0" montoTotRet="400">
		<retenciones:ImpRetenidos BaseRet="5000.00" Impuesto="02" montoRet="400.00" TipoPagoRet="Pago definitivo"/>
	</retenciones:Totales>	
</retenciones:Retenciones>]]></urn:Comprobante>
      </urn:EmitirComprobanteRequest>
   </soapenv:Body>
</soapenv:Envelope>


Respuesta EmitirComprobante

Cuando fue exitosa la transacción

Elemento Descripción
TransactionId Identificador de la transacción.
Result Cuando se procesó correctamente, el comprobante fiscal certificado (timbrado) se incluye dentro de <![CDATA[...]]>.
TransactionProperties Tiene una colección de elementos de la información principal del comprobante, con un par de atributos:
* Key.- identifica el valor del atributo value
* value.- contiene el valor relacionado con el identificador del atributo key


Ejemplo de respuesta exitosa para la emisión de un CFDI de Retenciones e Información de Pagos

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <EmitirComprobanteResponse xmlns="urn:reachcore.com:services:api:ws:pacservices:6.0">
         <TransactionId>1606ff4a-95a5-47b3-a879-15b8880d8ad2</TransactionId>
         <Result><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<cfdi:Comprobante Fecha="2021-02-26T00:00:00" FormaPago="01" MetodoPago="PUE" LugarExpedicion="01000" Moneda="MXN" SubTotal="2500.00" TipoDeComprobante="I" Total="2650.00" Version="3.3" xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" NoCertificado="30001000000300023699" Certificado="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" Sello="NrJRCaVRrDG7Fx55EMHAOXxAZBXquHLt3l580IYcQolUm9DYSehghrr0IWG2oUL2n4wOe4T3VK3VqTXqH+oAsY5BnWoNSLv2/BThKYst80hk7Gnq4HGonEYV6xYfE/1crt5G//iOPKwC8nwLvCFUaI5sSQjHnUpocwlt60MUVKIvWO0DwYNghUe0cSkcCIErLM16f+9nM3TJ8JlanEErmeLCVCrEzy5Jo6sKNW4wBdOKvEZo5lHxTbMDtM2DfGsKa+BVR4Z0voGHr0mjOT2KehPBSEf8Hrp5g67TjDf3Unb7PBWNRDMhUJwb0O5mKGlzSjoEqeqlumh4s3SUFhCb8g==" xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv33.xsd">
  <cfdi:Emisor Rfc="AAA010101AAA" RegimenFiscal="601" />
  <cfdi:Receptor Rfc="XAXX010101000" UsoCFDI="G03" />
  <cfdi:Conceptos>
    <cfdi:Concepto Cantidad="5.00" ClaveProdServ="01010101" ClaveUnidad="C81" Descripcion="descripción del concepto" Importe="2500.00" ValorUnitario="500.00">
      <cfdi:Impuestos>
        <cfdi:Traslados>
          <cfdi:Traslado Base="2500.00" Importe="400" Impuesto="002" TasaOCuota="0.160000" TipoFactor="Tasa" />
        </cfdi:Traslados>
        <cfdi:Retenciones>
          <cfdi:Retencion Base="2500.00" Importe="250.00" Impuesto="001" TasaOCuota="0.100000" TipoFactor="Tasa" />
        </cfdi:Retenciones>
      </cfdi:Impuestos>
    </cfdi:Concepto>
  </cfdi:Conceptos>
  <cfdi:Impuestos TotalImpuestosRetenidos="250" TotalImpuestosTrasladados="400">
    <cfdi:Retenciones>
      <cfdi:Retencion Importe="250" Impuesto="001" />
    </cfdi:Retenciones>
    <cfdi:Traslados>
      <cfdi:Traslado Importe="400" Impuesto="002" TasaOCuota="0.160000" TipoFactor="Tasa" />
    </cfdi:Traslados>
  </cfdi:Impuestos>
  <cfdi:Complemento>
    <tfd:TimbreFiscalDigital xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/sitio_internet/cfd/TimbreFiscalDigital/TimbreFiscalDigitalv11.xsd" Version="1.1" UUID="1DC3FD54-62AA-426C-9A89-5D864BEBFFD8" FechaTimbrado="2021-02-26T12:04:33" RfcProvCertif="ASE0201179X0" SelloCFD="NrJRCaVRrDG7Fx55EMHAOXxAZBXquHLt3l580IYcQolUm9DYSehghrr0IWG2oUL2n4wOe4T3VK3VqTXqH+oAsY5BnWoNSLv2/BThKYst80hk7Gnq4HGonEYV6xYfE/1crt5G//iOPKwC8nwLvCFUaI5sSQjHnUpocwlt60MUVKIvWO0DwYNghUe0cSkcCIErLM16f+9nM3TJ8JlanEErmeLCVCrEzy5Jo6sKNW4wBdOKvEZo5lHxTbMDtM2DfGsKa+BVR4Z0voGHr0mjOT2KehPBSEf8Hrp5g67TjDf3Unb7PBWNRDMhUJwb0O5mKGlzSjoEqeqlumh4s3SUFhCb8g==" NoCertificadoSAT="30001000000300036825" SelloSAT="XQMVun6q/RTV3V+2QzWp5anygzlzXx1wZHLVQBnsHwD07j+doY9Pe1BRCU1nJJQ32q2zBlSYTRGWQtIjMLgkBVamBpyokDpSkmsxrMHYqefSmS0iiPzu9anF0DcYAFCqNBR3qbbFF94qPGlhYtyWtfpNL4tpT3kBiJJnCg7zqz6Wlo5WV89f7M+2ykDReKslxqaw7LVNwvUAQvkLhhii8tll1IppCc09DH5HgS+lEWQEd51VR7UEehx5ornB5Pyc2G5FbM7TY+DSZxm2b8Msoe2Ex/uoQaZrrNLKO2qHeJQ5yEwE7Tx+6cVZEWsKkcFdz2FlZTDo89h7AU5i4uuy7g==" />
  </cfdi:Complemento>
</cfdi:Comprobante>]]></Result>
         <TransactionProperties>
            <TransactionProperty Key="CFD.RFCEmisor" Value="AAA010101AAA"/>
            <TransactionProperty Key="CFD.RFCReceptor" Value="XAXX010101000"/>
            <TransactionProperty Key="CFD.Serie" Value=""/>
            <TransactionProperty Key="CFD.Folio" Value=""/>
            <TransactionProperty Key="CFD.FechaEmision" Value="2021-02-26T00:00:00"/>
            <TransactionProperty Key="Timbre.UUID" Value="1DC3FD54-62AA-426C-9A89-5D864BEBFFD8"/>
            <TransactionProperty Key="Timbre.FechaTimbrado" Value="2021-02-26T12:04:33"/>
            <TransactionProperty Key="Timbre.NoCertificadoSAT" Value="30001000000300036825"/>
            <TransactionProperty Key="Timbre.CadenaOriginal" Value="||1.1|1DC3FD54-62AA-426C-9A89-5D864BEBFFD8|2021-02-26T12:04:33|ASE0201179X0|NrJRCaVRrDG7Fx55EMHAOXxAZBXquHLt3l580IYcQolUm9DYSehghrr0IWG2oUL2n4wOe4T3VK3VqTXqH+oAsY5BnWoNSLv2/BThKYst80hk7Gnq4HGonEYV6xYfE/1crt5G//iOPKwC8nwLvCFUaI5sSQjHnUpocwlt60MUVKIvWO0DwYNghUe0cSkcCIErLM16f+9nM3TJ8JlanEErmeLCVCrEzy5Jo6sKNW4wBdOKvEZo5lHxTbMDtM2DfGsKa+BVR4Z0voGHr0mjOT2KehPBSEf8Hrp5g67TjDf3Unb7PBWNRDMhUJwb0O5mKGlzSjoEqeqlumh4s3SUFhCb8g==|30001000000300036825||"/>
            <TransactionProperty Key="RESULT.PdfUrl" Value="https://oat.reachcore.com/api/rest/Timbre/Get?uuid=1dc3fd54-62aa-426c-9a89-5d864bebffd8&format=pdf"/>
         </TransactionProperties>
      </EmitirComprobanteResponse>
   </s:Body>
</s:Envelope>

Cuando tuvo error la transacción

Elemento Descripción
TransactionId Identificador de la transacción; para fines de diagnóstico y soporte, es necesario tener disponible dicho identificador.
Error Objeto para la descripción de errores.
Code Una cadena que identifica el error específico.
Message La descripción del código de error, para fines de facilitar el diagnóstico en las aplicaciones cliente sin tener que referirse a la tabla de errores. Su valor será siempre el mismo para un código de error específico.
Target Elemento opcional que, en algunos errores, se indicará la ubicación más precisa del error, sobre todo en los casos donde hay más de un lugar donde se pudo haber presentado. Por ejemplo, si la solicitud incluye un comprobante con más de un Concepto fiscal, y el error es de validación de datos de concepto, este campo indicará cuál de los conceptos fue el que ocasionó el rechazo por incumplir dicha regla de validación.
Details Descripción detallada de la situación de error específica, para propósitos de diagnóstico y pensada en ser interpretada por un desarrollador.
InnerErrors Una lista de otros objetos de tipo Error con la misma estructura descrita en esta tabla, que presentan ya sea la causa raíz del error o un desglose de los diferentes errores que lo originaron. Cada uno de los errores de esta lista pudiera a su vez tener InnerErrors, si es que hay más información detallada de errores que lo hayan ocasionado.


A continuación se muestran ejemplos de mensaje de respuesta con un error en el proceso de emisión:

  • Error.- el API Key no es válido.
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <EmitirComprobanteResponse xmlns="urn:reachcore.com:services:api:ws:pacservices:6.0">
         <TransactionId>03cb1f8d-9df1-4658-9c6b-46bc98fa2ce9</TransactionId>
         <Error>
            <Code>AuthenticationFailed</Code>
            <Message>Credenciales inválidas.</Message>
            <InnerErrors>
               <Error>
                  <Code>101</Code>
                  <Message>API Key no válida.</Message>
                  <InnerErrors>
                     <Error>
                        <Code>EmptyField</Code>
                        <Message>El campo no puede ser vacío.</Message>
                        <Target>API KEY</Target>
                        <Details>No se proporcionó un API Key para autenticación</Details>
                     </Error>
                  </InnerErrors>
               </Error>
            </InnerErrors>
         </Error>
      </EmitirComprobanteResponse>
   </s:Body>
</s:Envelope>


Códigos de error para la emisión.

Error - Code InnerErrors - Code Significado Descripción
AuthenticationFailed 100 API Key Requerida El elemento ApiKey está vacío o contiene espacios.
AuthenticationFailed 101 API Key no válida El API Key no existe en Reachcore.
Unauthorized 102 API Key no tiene privilegios suficientes El Api Key no tiene permisos para el servicio de emisión de CFDI
InvalidRequest 150 El tamaño del comprobante ha sobrepasado el límite permitido No se puede procesar la solicitud debido a que supera el tamaño máximo permitido.
InvalidRequest 201 Comprobante Requerido El elemento Comprobante esta vacío.
InvalidRequest 202 El XML en el elemento Comprobante no está bien formado No se puede leer como XML el contenido del elemento Comprobante.
InvalidRequest 203 Estructura inválida El XML enviado en el elemento Comprobante no es válido respecto al esquema de CFDI o en alguna regla de validación de los complementos utilizados.
InvalidRequest 204 El comprobante incluye un timbre previo El XML enviado para su emisión tiene el elemento tfd:TimbreFiscalDigital en sus complementos.
InvalidRequest 205 RFC Emisor no válido El RFC emisor no cumple con la expresión regular.
InvalidRequest 206 Namespace no válido No se está usando el namespace correcto para el nodo raíz.
InvalidRequest 207 Prefijo inválido No se está usando el prefijo cfdi para el namespace del comprobante.
InvalidRequest 208 RFC Receptor no válido El RFC receptor no cumple con la expresión regular.
InvalidRequest 306 Comprobante fuera de vigencia del certificado La fecha de expedición del comprobante está fuera del rango de vigencia del certificado.
InvalidRequest 307 Certificado de sello digital del emisor no vigente La fecha de expedición del comprobante está fuera del rango de vigencia del certificado.
InvalidRequest 308 Certificado de sello digital del emisor revocado El certificado está actualmente revocado en la LCO del SAT.
InvalidRequest 311 Comprobante duplicado Comprobante emitido previamente.
InvalidRequest 316 RFC no registrado en cuenta El RFC emisor no está registrado en su cuenta Reachcore.
InvalidRequest 317 RFC inactivo en cuenta El RFC emisor esta inactivo en su cuenta Reachcore.
InvalidRequest 318 Número de certificado de sello digital no registrado en cuenta El número de certificado de sello digital especificado en la solicitud de emisión, no esta registrado en la cuenta Reachcore.
InvalidRequest 319 Certificados de sello digital inactivos en cuenta No hay certificados activos para el RFC emisor en la cuenta Reachcore.
InvalidRequest 321 Fecha de comprobante en el futuro La fecha de emisión no puede ser mayor a la actual.
InvalidRequest 999 Error interno de plataforma (ID de diagnóstico: {ID}) Error interno de la plataforma. Notificar a soporte el identificador de diagnóstico.


Para mayor información o aclaración de dudas relacionadas con esta guía, por favor envía un correo a MEX-soporte@sovos.com

Propiedades de la transacción (Transaction properties)

Estas propiedades de la transacción son parámetros que indican a Reachcore algún tratamiento especial que se debe hacer con el comprobante que se está emitiendo. Estos parámetros se definen en la solicitud dentro del elemento TransactionProperties y en cada elemento TransactionProperty mediante los atributos Key y Value

Las siguientes propiedades pueden utilizarse sin ninguna configuración adicional.

Propiedad Valores en Keyy Value Descripción
tipoDocumento <TransactionProperty Key="tipoDocumento" Value="[Tipo_de_documento]"> Se utiliza para clasificar el comprobante que se está emitiendo. Con base en este valor, se define la representación impresa que se generará para el comprobante.
fileName <TransactionProperty Key="fileName" Value="[Nombre_del_archivo]"> Se utiliza para establecer el nombre del archivo con el cual se descargará el XML y PDF del portal. También se usa para los archivos que se generan para que sean transferidos de manera segura, tomando en consideración que se debe tener configurado dicho servicio.
folioOperacion <TransactionProperty Key="folioOperacion" Value="[Valor_unico_Emisor]"> Se utiliza para proporcionar un identificador único por parte del Emisor. Este identificador puede ser usado para recuperar este comprobante en las siguientes 72 horas después de su emisión. La longitud máxima para este atributo es de 200 caracteres.


Los siguientes pueden utilizarse, sin embargo, se requiere de una configuración adicional en tu cuenta. Si necesitas esta funcionalidad, por favor contáctanos a MEX-soporte@sovos.com

Propiedad Valores en Key y Value Descripción
PemexVault <TransactionProperty Key="PemexVault" Value="COPADE,Ejercicio,NoAcreedor"> Cuando se emite el CFDI, se entregará de manera automática a la bóveda electrónica de Pemex para un COPADE. Para ello se requiere indicar los valores del COPADE, Ejercicio y Número de acreedor de Pemex. Esta propiedad sólo aplica para CFDI
correoReceptor <TransactionProperty Key="correoReceptor" Value="elcorreo@micliente.com"> Una vez que se emite el comprobante, es posible entregarlo a la(s) dirección(es) de correo especificadas. En caso de poner más de una dirección de correo, se deberán separan con una coma (,)
CC_RECEPTOR <TransactionProperty Key="CC_RECEPTOR" Value="elcorreo@concopia.com"> Una vez que se emite el comprobante, es posible entregar una copia a la(s) dirección(es) de correo especificadas. En caso de poner más de una dirección de correo, se deberán separan con una coma (,). Si no se especifica un correoReceptor, el CC_RECEPTOR funcionará como la dirección principal y no será usada como copia.
PSECFDI <TransactionProperty Key="PSECFDI" Value="true"> La petición de emisión deberá ser tratada para generar un CFDI de Sector Primario. Puedes consultar más información de este esquema en la siguiente liga.
CSDWide <TransactionProperty Key="CSDWide" Value="true"> Define si se debe utilizar el CSD de una cuenta vinculada o no.
VinculaCliente <TransactionProperty Key="VinculaCliente" Value="DatoConElQueVinculoAMiCliente"> Una vez que se emite el comprobante, es posible asociar el comprobante con el dato de vinculación que se especifique en este TransactionProperty. Puede ser un número de contrato, número de póliza, o algún otro identificador interno al Emisor que vincule el CFDI que se emitió con su cliente. El cliente del emisor podrá tener acceso al portal para recuperar sus comprobantes por medio de la dirección de e-mail registrada en correoReceptor a menos que el dato de asociación del comprobante con el cliente sea un correo electrónico: en ese caso no es necesario especificar el correoReceptor y los correos electrónicos con notificaciones y claves de acceso serán enviadas a la dirección que se especifique como VinculaCliente. De momento esta funcionalidad sólo aplica para emisión de CFDI

Datos de impresión


CustomData


En la solicitud de emisión, se puede agregar información para mostrarse solamente en la representación impresa del comprobante. Para ello, es necesario que cumpla con lo siguiente:

  • Que tenga la estructura de un XML válido.
  • Se deben de enviar en el elemento CustomData del web service dentro de un elemento <![CDATA[...]]>
  • Es necesario que el equipo de consultoría de Reachcore haga los ajustes correspondientes a la plantilla con la cual se genera la representación impresa (archivo con extensión PDF)

Ejemplo de datos de impresión:

<urn:CustomData>
    <![CDATA[<DatosDeImpresion>
    <libro genero="novela">
        <indice fuente="trebuchet" />
        <prologo fuente="tahoma" peso="italica" />
        <capitulo fuente ="arial" peso="bold" color="negro" />
    </libro>
    <volumen edicion="1978" tomos="15">
        <uno paginas="120" />
        <dos paginas="154" fuente="tahoma" />
        <tres paginas="200" peso="bold" fuente ="arial" />
    </volumen>
</DatosDeImpresion>]]>
</urn:CustomData>


Domicilios


En versiones posteriores de 3.2 ya no existen campos para indicar los domicilios, pero es posible enviar esta información en la solicitud de emisión para que se muestre en la representación impresa del comprobante. Para ello, es necesario que cumpla con lo siguiente:

  • Que sea un XML válido como se muestra en el ejemplo.
  • Se deben de enviar en el elemento Domicilios del web service, dentro de un elemento <![CDATA[...]]>
  • Es importante que siempre tenga un elemento padre <Domicilios> dentro del elemento <![CDATA[...]]> y despues incluir todos los detalles de los domicilios que se requieran.
  • Es necesario que el equipo de consultoría de Sovos Reachcore haga los ajustes correspondientes a la plantilla con la cual se genera la representación impresa (archivo con extensión PDF) para incluir los domicilios que se envíen en la solicitud.

Ejemplo para el envio de domicilios:

<urn:Domicilios><![CDATA[<Domicilios>
	<Emisor Calle="Calle Emisor" NumeroExterior="NumEmis" NumeroInterior="Piso 10" Colonia="Col Emisor" Municipio="Álvaro Obregón" Estado="Distrito Federal" Pais="México" CodigoPostal="06900" />
	<Receptor Calle="" NumeroExterior=" " NumeroInterior="Piso 10" Colonia="Centro" Municipio="Álvaro Obregón" Estado="Distrito Federal" Pais="México" CodigoPostal="06900" />
	<Cliente Calle="Cliente" NumeroExterior=" " NumeroInterior="Piso 10" Colonia="Centro" Municipio="Álvaro Obregón" Estado="Distrito Federal" Pais="México" CodigoPostal="06900" />
	<Embarque Calle="Embarque" NumeroExterior=" " NumeroInterior="Piso 10" Colonia="Centro" Municipio="Álvaro Obregón" Estado="Distrito Federal" Pais="México" CodigoPostal="06900" />
	<Entrega Calle="Calle 12" NumeroExterior="102" NumeroInterior="Piso 20" Colonia="Roma" Municipio="Cuauhtemoc" Estado="Ciudad de México" Pais="México" CodigoPostal="11000" />
</Domicilios>]]></urn:Domicilios>


Para mayor información o aclaración de dudas relacionadas con esta guía, por favor envía un correo a MEX-soporte@sovos.com


Regresar