Facturar al IMSS
Publicado: Lun Jul 02, 2012 4:58 pm
Hola, buenas tardes.
Tengo entendido que en algún lado existe una Addenda para el CFDi para el IMSS pero, de acuerdo a una conversación telefónica que tuve con ellos y a mi experiencia al subir facturas, no se está requiriendo.
Pero hay que tener cuidado. El IMSS desarrolló su propio validador de CFDi que es "más papista que el Papa".
¿A qué me refiero?
Coloqué namespaces y schemaLocations lo más completo posibles, de un ejemplo proporcionado por TimbreFiscal para la versión 3.2 del CFDi. Es obvio que algunos no los utilizo, pero de cualquier manera ya están y no le hacen ruido al esquema.
Los CFDi los genero con herramientas en mi software que permiten crear el árbol de XML apegados a las normas y que incluso verifican que existan los xsd que se definen en el schemaLocation. Obviamente, lo mando timbrar y TimbreFiscal (mi proveedor PAC) lo valida y me devuelve el timbre correspondiente.
Tengo un editor de XML que también valida que la estructura esté correcta de acuerdo a los namespaces y xsd.
Incluso los he validado con ValidaCFD del buen DADO y pasan la prueba.
Pero resulta que, al subirlos al portal del IMSS, me indican un error. Expresamente dice: "Error, se define el namespace "divisas" pero no la localización del xsd". Verifico mi XML y encuentro que sí, que está definida la localización del xsd en el schemaLocation.
Les envié un correo y me tratan de hacer hacer tonto diciéndome que no hay un xsd para el namespace "dividas" y que por eso marca error. Incluso me envían una impresión de la pantalla con su editor de XML señalando todos los xsd para que yo vea que no está definido el xsd para "dividas".
Después de varios ires y venires de correos finalmente deciden hablarme por teléfono y en esa conversación se dan cuenta de que la definición de mi xsd de divisas es:
(copiado con copy-paste del XML de ejemplo de TimbreFiscal)
y que eso está mal, que ahí es donde está el error.
¿Lo encuentran? ¿No? ¡Yo tampoco!
Pero resulta que los señores del IMSS son más fregones que todos los que se han involucrado en el desarrollo del Unix y ellos en lo particular no aceptan que los URL sean insensibles a mayúsculas o minúsculas y validan incluso que vengan "como lo definió el SAT", así que no aceptan ese xsd así, por lo que tuve que cambiarlo a:
El PAC ya me había comentado que ellos no pueden repudiar un CFDi timbrado, al menos no por ese tipo de cosas.
Levanté la queja, pero es como darle un baño a un pescado: no hace mella en ellos. Por supuesto, el cliente que necesita la facturación con el IMSS no piensa que estén mal en el IMSS, sino que yo esté mal en mi sistema.
Solo para información.
¿Alguien ha tenido problemas con el IMSS?
¡Saludos!
Tengo entendido que en algún lado existe una Addenda para el CFDi para el IMSS pero, de acuerdo a una conversación telefónica que tuve con ellos y a mi experiencia al subir facturas, no se está requiriendo.
Pero hay que tener cuidado. El IMSS desarrolló su propio validador de CFDi que es "más papista que el Papa".
¿A qué me refiero?
Coloqué namespaces y schemaLocations lo más completo posibles, de un ejemplo proporcionado por TimbreFiscal para la versión 3.2 del CFDi. Es obvio que algunos no los utilizo, pero de cualquier manera ya están y no le hacen ruido al esquema.
Los CFDi los genero con herramientas en mi software que permiten crear el árbol de XML apegados a las normas y que incluso verifican que existan los xsd que se definen en el schemaLocation. Obviamente, lo mando timbrar y TimbreFiscal (mi proveedor PAC) lo valida y me devuelve el timbre correspondiente.
Tengo un editor de XML que también valida que la estructura esté correcta de acuerdo a los namespaces y xsd.
Incluso los he validado con ValidaCFD del buen DADO y pasan la prueba.
Pero resulta que, al subirlos al portal del IMSS, me indican un error. Expresamente dice: "Error, se define el namespace "divisas" pero no la localización del xsd". Verifico mi XML y encuentro que sí, que está definida la localización del xsd en el schemaLocation.
Les envié un correo y me tratan de hacer hacer tonto diciéndome que no hay un xsd para el namespace "dividas" y que por eso marca error. Incluso me envían una impresión de la pantalla con su editor de XML señalando todos los xsd para que yo vea que no está definido el xsd para "dividas".
Después de varios ires y venires de correos finalmente deciden hablarme por teléfono y en esa conversación se dan cuenta de que la definición de mi xsd de divisas es:
Código: Seleccionar todo
http://www.sat.gob.mx/sitio_internet/cfd/divisas/Divisas.xsd
y que eso está mal, que ahí es donde está el error.
¿Lo encuentran? ¿No? ¡Yo tampoco!
Pero resulta que los señores del IMSS son más fregones que todos los que se han involucrado en el desarrollo del Unix y ellos en lo particular no aceptan que los URL sean insensibles a mayúsculas o minúsculas y validan incluso que vengan "como lo definió el SAT", así que no aceptan ese xsd así, por lo que tuve que cambiarlo a:
Código: Seleccionar todo
http://www.sat.gob.mx/sitio_internet/cfd/divisas/divisas.xsd
Levanté la queja, pero es como darle un baño a un pescado: no hace mella en ellos. Por supuesto, el cliente que necesita la facturación con el IMSS no piensa que estén mal en el IMSS, sino que yo esté mal en mi sistema.
Solo para información.
¿Alguien ha tenido problemas con el IMSS?
¡Saludos!