Autofactura.importar
English versionRecibe un listado de los tickets con su detalle y válida cada concepto. Retorna un listado del resultado de la importación de cada ticket.
- Parámetros:
-
Nombre Descripción Requerido clientId xs:string
Nombre de usuario registrado para el uso del WebService.
Sí password xs:string
Contraseña del usuario.
Sí file xs:base64Binary
Arreglo de bytes del documento a importar encodeado en base64, el formato del documento debe ser texto plano.
El archivo es de tipo cadena conector para autofactura de texto plano.Sí
Este método recibe tres parámetros, de los cuales dos se encuentran en el encabezado del mensaje SOAP.
Ejemplo de petición
Descargar este ejemplo
Regresa
- Este método retorna un tipo compuesto: Importacion, los atributos se describen en la siguiente tabla:
-
Atributos de ImportacionNombre Descripción Requerido status xs:int
El código estatus de la operación. Códigos de respuesta
Sí mensaje xs:string
El mensaje de respuesta, una cadena de caracteres detallando el estatus de la operación.
Sí idTransaccion xs:string
El identificador de la transacción en la que se proceso el ticket, puede no presentarse cuando no se proceso el ticket.
No resultados Arreglo de tipo tns:resultadoImportacion
Detalle de cada resultado de la importación de los tickets.
No -
tns:resultadoImportacion
Nombre Descripción Requerido status xs:int
Estatus del ticket
Sí mensaje xs:string
Mensaje del ticket
No noTicket xs:string
Número de ticket
No
Ejemplo de respuesta - importar
Descargar este ejemplo
Cadena conector
-
La cadena de conector es la representación de cada elemento en el archivo de importación utilizado por el método importar del Webservice.
Nombre Tipo Uso Descripción Ejemplo TICKET_NO String R El identificador del ticket, este puede ser compuesto. 02OTR0010558223088D FECHA_HORA String R Fecha y hora con formato descrito por el cliente. 08/13/2012T11:43:18 SUBTOTAL_FACTURA BigDecimal R El monto subtotal del ticket, con un máximo de 6 decimales. 449.5441 TOTAL_FACTURA BigDecimal R Monto total del ticket, con un máximo de 6 decimales. 535.1716 NOTAS String O Este campo es opcional. Sin Notas MONEDA_NOMBRE String O Este campo describe el nombre de la moneda utilizada en el ticket. Peso Mexicano MONEDA_SIMBOLO String O Este campo describe el símbolo de la moneda. MXN TIPO_CAMBIO BigDecimal O Este campo describe la tasa de cambio utilizada al momento de general el ticket. 1 FORMA_PAGO String O Este campo es opcional, el valor predefinido es el que el cliente describió. 03, 02, 99 METODO_PAGO String O Este campo es opcional, el valor predefinido es el que el cliente describió. PUE, PPD VALOR_UNITARIO BigDecimal O Este campo es opcional, en caso no encontrarse se utilizará el valor de SUBTOTAL_FACTURA. 160.45 CLAVE_UNIDAD String R Este campo describe la Clave de unidad de medida estandarizada aplicable para la cantidad expresada en el concepto de acuerdo al catálogo publicado por el SAT. La unidad debe corresponder con la descripción del concepto. UNIDAD String O Este campo es opcional, el valor predefinido es el que el cliente describió. CLAVE_PROD_SERV_SAT String R Este campo describe la Clave del producto o del servicio amparado por el presente concepto de acuerdo al catálogo de productos y servicios publicado por el SAT. EA CODIGO String O Código o número de la parte del concepto CONCEPTO String O Este campo es opcional, el valor predefinido es el que describió el cliente. CONSUMO CANTIDAD BigDecimal O Este campo es opcional, en caso de no encontrarse se utilizará el valor 1.000000. 1 IMPORTE BigDecimal O Este campo es opcional, en caso no encontrarse se utilizará el valor de SUBTOTAL_FACTURA. 140.45 IMPORTE_DESCUENTO BigDecimal O Monto unitario de descuento por concepto, en caso de no desear usar un porcentaje. 34.00 Debe ser menor o igual al campo importe y no se permiten valores negativos. TASA_IVA_LINEA BigDecimal O Este campo describe la Tasa del impuesto. Este campo es opcional y debe ser especificado en base 100 16.00. Define la tasa de IVA por concepto. BASE_IVA BigDecimal O Este campo describe la base para el cálculo del impuesto, la determinación de la base se realiza de acuerdo con las disposiciones fiscales vigentes. No se permiten valores negativos. MONTO_IVA BigDecimal O Monto unitario del impuesto por concepto. TASA_IEPS_LINEA BigDecimal O Este campo describe la Tasa del impuesto. Este campo es opcional y debe ser especificado en base 100 3.00. Define la tasa de IEPS por concepto. CUOTA_IEPS BigDecimal O Este campo describe la Cuota del impuesto. Debe especificar el monto del impuesto.
Nota: Los campos TASA_IEPS_LINEA y CUOTA_IEPS son excluyentes, es decir, sólo se debe especificar uno u otro.BASE_IEPS BigDecimal O Este campo describe la base para el cálculo del impuesto, la determinación de la base se realiza de acuerdo con las disposiciones fiscales vigentes. No se permiten valores negativos. MONTO_IEPS BigDecimal O Monto unitario del impuesto por concepto. TASA_RET_IVA BigDecimal O Este campo describe la Tasa del impuesto. Este campo es opcional y debe ser especificado en base 100 10.667. Define la tasa de IVA por concepto. BASE_RET_IVA BigDecimal O Este campo describe la base para el cálculo del impuesto, la determinación de la base se realiza de acuerdo con las disposiciones fiscales vigentes. No se permiten valores negativos. MONTO_RET_IVA BigDecimal O Monto unitario del impuesto por concepto. RE_IMPORTAR Boolean O Este campo es opcional, da la posibilidad de re-importar un ticket previamente generado. true USO_CFDI String R Este campo expresar la clave del uso que dará a esta factura el receptor del CFDI. Deacuerdo al catalogo del SAT O = Opcional
C = Condicional
R = RequeridoLos archivos de importación de autofactura deberán seguir la siguiente configuración de campos:
TICKET_NO|FECHA_HORA|SUBTOTAL_FACTURA|TOTAL_FACTURA|NOTAS|MONEDA_NOMBRE|MONEDA_SIMBOLO|TIPO_CAMBIO|FORMA_PAGO|METODO_PAGO|VALOR_UNITARIO|CLAVE_UNIDAD|UNIDAD|CLAVE_PROD_SERV_SAT|CODIGO|CONCEPTO|CANTIDAD|IMPORTE|IMPORTE_DESCUENTO|TASA_IVA|BASE_IVA|MONTO_IVA|TASA_IEPS|CUOTA_IEPS|BASE_IEPS|MONTO_IEPS|TASA_RET_IVA|BASE_RET_IVA|MONTO_RET_IVA|RE_IMPORTAR|USO_CFDI|Ejemplo de cadena conector para autofactura
Esta cadena esta basada en la cadena conector para la importación de comprobantes fiscales digitales, si usted ya cuenta con este conector para la importación de facturas electrónicas puede simplemente añadir esta cadena a la ya existente, solo tiene que ponerse en contacto con nosotros para actualizar su configuración.|02OTR0010558223088D|01/01/2018T00:00:01|100|116|Notas|PESOS|MXN|1|99|PUE|100|EA|PZA|1010101|10001023|CONSUMO|1|100|0|16|100|16|||||||||P01|
Dígito verificador
Generación
El dígito verificador es el resultado de los primeros dos dígitos de la obtención hash por medio de SHA-1 del número de ticket.
Tomemos como ejemplo el siguiente número de ticket: 02OTR0010558223088D
02 es el identificador del emisor, es alfanumérico.
OTR es el identificador de la sucursal, es alfanumérico.
00105582 es el número del ticket.
El último segmento de 6 dígitos 23088d, se componen de la siguiente forma:
2 para la longitud del identificador del emisor, que en este caso es 02.
3 para la longitud del identificador de la sucursal, que en este caso es OTR.
08 para la longitud del ticket, que en este caso es 00105582.
8d para la verificación del ticket, este corresponde a los primeros 2 dígitos del hash del ticket.
Visto desde otra manera, podemos expresar el ticket de la siguiente forma:
Emisor | Sucursal | Ticket | Longitud Emisor | Longitud Sucursal | Longitud Ticket | Dígito Verificador |
02 | OTR | 00105582 | 2 | 3 | 08 | 8D |
Alfanumérico | Alfanumérico | Alfanumérico | Del 1 al 9 | Del 1 al 9 | Del 1 al 99 de 2 dígitos | Alfanumérico de 2 dígitos |
El hash se genera con los primeros 6 componentes del ticket:
02 | OTR | 00105582 | 2 | 3 | 08 |
Como resultado de codificar 02OTR001055822308 usando sha-1 a hexadecimal es:
8D811497A8A289C1351646AA73161AC0967AAC78 |
Los primeros 2 dígitos del hash:
8D | 811497A8A289C1351646AA73161AC0967AAC78 |
Ticket final con dígito de verificación:
02OTR001055822308 | 8D |
Códigos Respuesta
-
200 — Acceso correcto:
el cliente se autentico correctamente y el método retorno los resultados.
En general cualquier proceso que termine sin ninguna incidencia. -
201 — Acceso correcto:
el cliente se autentico correctamente y el método retorno los resultados.
En general cualquier proceso que termine sin ninguna incidencia. -
202 — El ticket ya se había procesado en otra transacción de importación,
el ticket que se deseaba importar ya existía en una transacción anterior.
-
204 — Se encontraron errores al validar el ticket con el digito validador.
El ticket no paso la validación del dígito validador, esto se debe a que el ticket no cumple con lo especificado en el dígito verificador o el hash generado es diferente. - 206 — El número de ticket ya ha sido facturado.
El ticket fue facturado con anterioridad. -
208 — El ticket no pudo ser almacenando y marcado como facturado.
El proceso de almacenado encontró un problema por lo cual no continuo. -
500 — Error al procesar los tickets
Error al tratar de leer la información de los tickets. - 601 — Error en la autenticación del cliente.
Usuario y/o contraseña incorrectos.