Implementa la conexión con el servicio de timbrado cfdi con el PAC Facturación Moderna Guía de Desarrollo de FM.
No incluye ninguna funcionalidad de sellado.
Agrega esto al Gemfile de tu aplicación:
gem 'fm_timbrado_cfdi'
Y ejecuta:
$ bundle
o instala de forma independiente:
$ gem install fm_timbrado_cfdi
Para usar la gema es necesario realizar la configuración con los valores de conexión:
FmTimbradoCfdi.configurar do |config|
config.user_id = 'user_id'
config.user_pass = 'password'
config.namespace = 'http://serviciondetimrado...'
config.endpoint = 'http://serviciondetimrado...'
config.fm_wsdl = 'http://serviciondetimrado...'
config.log = 'path_to_log'
config.ssl_verify_mode = true
end # configurar
Y realizar la petición de timbrado:
respuesta = FmTimbradoCfdi.timbra_cfdi_layout rfc, 'layout_file', false
# => Petición sin generación del CBB
respuesta = FmTimbradoCfdi.timbra_cfdi_layout rfc, 'layout_file', true
# => Petición con generación del CBB
Si cuentas con el XML sellado puedes hacer lo siguiente:
respuesta = FmTimbradoCfdi.timbra_cfdi_xml 'archivo_xml', false
# => Petición sin generación del CBB
respuesta = FmTimbradoCfdi.timbra_cfdi_xml 'archivo_xml', true
# => Petición con generación del CBB
Para un método más general de timbrado que se encuentre más acorde a la documentación de Facturación Moderna:
respuesta = FmTimbradoCfdi.timbrar rfc_emisor, 'archivo_xml_o_layout', 'generarCBB' => false, 'generarPDF' => true, 'generarTXT' => false
# => Generar la respuesta con formato PDF, pero sin formato CBB ni TXT
El archivo de layout y el XML son string.
- 'Forkea' el repositorio
- Crea una rama con tu funcionalidad (
git checkout -b my-new-feature
) - Envía tus cambios (
git commit -am 'Add some feature'
) - 'Pushea' a la rama (
git push origin my-new-feature
) - Crea un 'Pull request'
Esta gema fue creada por LogicalBricks Solutions.