LOOKUP_ISSUED_YEAR_BATCH_AND_SERIAL

LOOKUP_ISSUED_YEAR_BATCH_AND_SERIAL

Busca todos los CFDI´s que se encuentren por Serie y Folio que haya puesto el cliente en el XML nativo de MYSuite desde el ERP del Emisor o en su defecto, en la asignación que se encuentra desde el Portal Web de MYSuite.

Este método permite conocer los comprobantes almacenados en MYSuite que coincidan con la Serie y Folio indicados en la solicitud, puede existir más de un documento del mismo Emisor con la misma Serie y Folio ya que estos no son los elementos de unicidad de la base de datos, como sí lo es el folio fiscal (UUID).

Este método es de utilidad para aquellos sistemas administrativos que lleven el control por Serie y Folio en lugar de emplear el verdadero Folio Fiscal (UUID). En estos casos, la unicidad por Serie y Folio debe ser garantizada por el sistema administrativo.

Solicitud




Valores
  1. {
      "Requestor": "string",
      "Transaction": "string",
      "Country": "string",
      "Entity": "string",
      "User": "string",
      "UserName": "string",
      "Data1": "string",
      "Data2": "string",
      "Data3": "string"
    }

Descripción de Parámetros:
Requestor: Es un dato de tipo GUID que proporciona MYSuite y está relacionado con la seguridad de la transacción así como procesos de autenticación y autorización.
Transaction: Corresponde al método que desee invocar.
Country: Corresponde a la abreviatura del país, en este caso MX.
Entity: Identifica el RFC de quién realiza la solicitud, en este caso, corresponde a la empresa que realiza la transacción desde su ERP o sistema de gestión de facturas. Si es un cliente CFDI + Timbrado, en el ambiente de prueba debe utilizar el RFC JES900109Q90
User: Repetir la información del Requestor.
UserName: Está considerado para poder indicar el usuario del ERP y que el cliente pueda conocer quién realizó la solicitud, se define por la combinación de varios parámetros de la siguiente manera:
Country.Entity.Usuario_ERP
Ejemplos:
MX.ETN040506RB3.jacinto
MX.ETN040506RB3.mendez
La adopción de un usuario u otro está en dependencia de las necesidades del cliente en cuanto a la división de sus procesos de facturación en sucursales, departamentos o simplemente identificar cada actividad de facturación por empleado.
Data1, Data2 y Data3: En función del método a utilizar se deberá contemplar el llenado de estos nodos conforme corresponda.

En Data1: Deberás enviar codificado en Base64 la estructura del Dictionary que se describirá más adelante.

En Data2: Dejar vacío.

En Data3: Dejar vacío.
  1. {
      "Requestor": "0c320b03-d4f1-47bc-9fb4-77995f9bf33e",
      "Transaction": "LOOKUP_ISSUED_YEAR_BATCH_AND_SERIAL",
      "Country": "MX",
      "Entity": "JES900109Q90",
      "User": "0c320b03-d4f1-47bc-9fb4-77995f9bf33e",
      "UserName": "MX.JES900109Q90.jan",
      "Data1": "Base64 la estructura del Dictionary",
      "Data2": "",
      "Data3": ""
    }
La estructura Dictionary se describe a continuación:
<Dictionary name="StoredXmlSelector">
  <Entry k="Batch" v="ABB"/>
  <Entry k="Serial" v="860"/>
  <Entry k="Branch" v="ABB"/> = SUCURSAL
  <Entry k="Year" v="2020"/>
</Dictionary>
Toma en cuenta lo siguiente:
En el atributo name siempre debes colocar StoredXmlSelector
En la entrada Batch debes colocar en el valor v la Serie del comprobante.
En la entrada Serial debes colocar en el valor v el Folio del comprobante.
En la entrada Branch debes colocar en el valor v la Sucursal que expresaste en el XML nativo de MYSuite, si no tienes esta información puedes dejar en blanco la etiqueta ya que esta es opcional, por ejemplo puedes dejarla así: <Entry k="Branch" v=""/>
En la entrada Year debes colocar en el valor v el Año en que fue emitido el comprobante. si no especificas el año, se buscará en el actual.

Respuesta
  1. {
       "requestField":    {
          "requestorField": "00000000-0000-0000-0000-000000000000",
          "requestorNameField": null,
          "requestorActiveField": true,
          "transactionField": 243,
          "countryField": "MX",
          "entityField": "JES900109Q90",
          "userField": "00000000-0000-0000-0000-000000000000",
          "userNameField": "MX.JES900109Q90.jan",
          "idField": "5597d834-afd2-4d5a-b9d4-77a683fcbe12",
          "timeStampField": "2020-06-25T16:49:55.989861-05:00"
       },
       "responseField":    {
          "resultField": true,
          "timeStampField": "2020-06-25T16:49:56.5055174-05:00",
          "lastResultField": "",
          "codeField": 1,
          "descriptionField": "",
          "hintField": "",
          "dataField": " 905 5597d834-afd2-4d5a-b9d4-77a683fcbe12",
          "processorField": "TEST-BACK02",
          "identifierField": null,
          "batchIdentifierField": null
       },
       "responseDataField":    {
          "responseData1Field": "1",
          "responseData2Field": "Estructura XML codificada en Base64 con el detalle de los documentos encontrados",
          "responseData3Field": "",
          "responseDataSetField": null
       }
    }

responseData1Field: Cantidad de documentos encontrados.

responseData2Field: En base 64 se devuelve un XML con el detalle de los documentos encontrados, no los documentos en si.


La estructura XML decodificada contiene la siguiente información:
  1. <DocsFoundBy batch="ABB" serial="860" count="1" year="2020">
    <doc pos="1">
    <ctry>MX</ctry>
    <taxId>JES900109Q90</taxId>
    <uuid>94e4a686-37e7-4d8a-a849-101adef74fff</uuid>
    <branch>ABB</branch>
    <batch>ABB</batch>
    <serial>860</serial>
    <issued>2020-06-18T09:47:11</issued>
    <cancelled/>
    <kind>1</kind>
    <currency>MXN</currency>
    <total>116.000000</total>
    </doc>
    </DocsFoundBy>

Si la cantidad de comprobantes encontrados es 0 (cero), en responseData1Field devuelve un 0 (cero), y en responseData2Field no hay nada.

    • Related Articles

    • LOOKUP_ISSUED_YEAR_BATCH_AND_SERIAL

      Busca todos los CFDI´s que se encuentren por Serie y Folio que haya puesto el cliente en el XML nativo de MYSuite desde el ERP del Emisor o en su defecto, en la asignación que se encuentra desde el Portal Web de MYSuite. Este método permite conocer ...
    • LOOKUP_ISSUED_INTERNAL_ID

      Busca todos los CFDI´s que se encuentren emitidos con el número interno que haya puesto el cliente en el XML nativo de MYSuite desde su ERP. Este método devuelve la cantidad de comprobantes almacenados en MYSuite cuyo Número Interno coincide con el ...
    • LOOKUP_ISSUED_INTERNAL_ID

      Busca todos los CFDI´s que se encuentren por el número interno que haya puesto el cliente en el XML nativo de MYSuite para con el ERP del Emisor. Este método devuelve la cantidad de comprobantes almacenados en MYSuite cuyo Número Interno coincide con ...
    • LOOKUP_ISSUED_INTERNAL_ID

      Esta transacción está destinada al control de la no duplicidad en los comprobantes. Uno de los parámetros de esta transacción es el número interno que corresponde a un único ID de alguna transacción, llamada, operación o registro en el ERP de los ...
    • LOOKUP_ISSUED_INTERNAL_ID

      Esta transacción está destinada al control de la no duplicidad en los comprobantes. Uno de los parámetros de esta transacción es el número interno que corresponde a un único ID de alguna transacción, llamada, operación o registro en el ERP de los ...