Module: FmTimbradoCfdi
- Extended by:
- FmTimbradoCfdi
- Included in:
- FmTimbradoCfdi
- Defined in:
- lib/fm_adapter.rb,
lib/fm_adapter/fm_cfdi.rb,
lib/fm_adapter/version.rb,
lib/fm_adapter/fm_timbre.rb,
lib/fm_adapter/fm_cliente.rb,
lib/fm_adapter/fm_respuesta.rb,
lib/fm_adapter/fm_cfdi_parser.rb,
lib/fm_adapter/fm_informacion_cfdi.rb,
lib/fm_adapter/fm_respuesta_cancelacion.rb
Defined Under Namespace
Classes: FmCfdi, FmCfdiParser, FmCliente, FmInformacionCfdi, FmRespuesta, FmRespuestaCancelacion, FmTimbre
Constant Summary collapse
- VERSION =
"0.0.4"
Instance Method Summary collapse
-
#activar_cancelacion(rfc, certificado, llave, password) ⇒ Object
(also: #subir_certificado)
Public: Envía CSD para que lo almacene el PAC.
-
#cancelar(rfc, uuid, opciones) ⇒ Object
Public: Envía una petición de cancelación de factura.
- #cliente ⇒ Object
- #configurar {|cliente| ... } ⇒ Object
-
#timbra_cfdi_layout(rfc, layout, generar_cbb = false) ⇒ Object
Public: Envía un archivo al PAC para ser timbrado en formato layout.
-
#timbra_cfdi_xml(xml, generar_cbb = false) ⇒ Object
Public: Envía un archivo al PAC para ser timbrado en formato xml.
-
#timbrar(rfc, archivo, opciones = {}) ⇒ Object
Public: Envía un archivo al PAC para ser timbrado tanto en formato layout como en formato XML.
Instance Method Details
#activar_cancelacion(rfc, certificado, llave, password) ⇒ Object Also known as: subir_certificado
Public: Envía CSD para que lo almacene el PAC
rfc - Es el RFC del emisor certificado - El contenido del archivo de certificado llave - La llave privada del certificado password - Contraseña de la llave privada
Regresa un objeto de tipo FmRespuestaCancelacion
63 64 65 |
# File 'lib/fm_adapter.rb', line 63 def activar_cancelacion(rfc, certificado, llave, password) cliente.subir_certificado rfc, certificado, llave, password end |
#cancelar(rfc, uuid, opciones) ⇒ Object
Public: Envía una petición de cancelación de factura
rfc - Es el RFC del emisor uuid - Es el identificador de la factura a cancelar
Regresa una respuesta SOAP
en opciones se debe enviar: { ‘Motivo’ => op1,
'FolioSustitucion' => Folio Fiscal del comprobante que lo sustituye (solo si Motivo es 01) }
Motivo puede ser: 01 - Comprobantes emitidos con errores con relación 02 - Comprobantes emitidos con errores sin relación 03 - No se llevó a cabo la operación 04 - Operación nominativa relacionada en una factura global
84 85 86 |
# File 'lib/fm_adapter.rb', line 84 def cancelar(rfc, uuid, opciones) cliente.cancelar(rfc, uuid, opciones) end |
#cliente ⇒ Object
15 16 17 |
# File 'lib/fm_adapter.rb', line 15 def cliente @cliente ||= FmCliente.new end |
#configurar {|cliente| ... } ⇒ Object
11 12 13 |
# File 'lib/fm_adapter.rb', line 11 def configurar yield cliente end |
#timbra_cfdi_layout(rfc, layout, generar_cbb = false) ⇒ Object
Public: Envía un archivo al PAC para ser timbrado en formato layout
rfc - Es el RFC del emisor layout - Es el archivo layout a ser timbrado como un string generar_cbb - Es una bandera que indica si debe generarse el código cbb, por default es false
Regresa un objeto tipo FMRespuesta que contiene el xml certificado, el timbre y la representación en pdf o el cbb en png
40 41 42 |
# File 'lib/fm_adapter.rb', line 40 def timbra_cfdi_layout (rfc, layout, generar_cbb = false) cliente.timbrar rfc, layout, 'generarCBB' => generar_cbb end |
#timbra_cfdi_xml(xml, generar_cbb = false) ⇒ Object
Public: Envía un archivo al PAC para ser timbrado en formato xml
xml - Es el archivo XML sellado como un string generar_cbb - Es una bandera que indica si debe generarse el código cbb, por default es false
Regresa un objeto tipo FMRespuesta que contiene el xml certificado, el timbre y la representación en pdf o el cbb en png
25 26 27 28 29 30 31 |
# File 'lib/fm_adapter.rb', line 25 def timbra_cfdi_xml (xml, generar_cbb = false) factura_xml = Nokogiri::XML(xml) #procesar rfc del emisor emisor = factura_xml.xpath('//cfdi:Emisor') rfc = emisor[0]['rfc'] cliente.timbrar rfc, factura_xml.to_s, 'generarCBB' => generar_cbb end |
#timbrar(rfc, archivo, opciones = {}) ⇒ Object
Public: Envía un archivo al PAC para ser timbrado tanto en formato layout como en formato XML
rfc - Es el RFC del emisor archivo - Es el archivo a ser timbrado como un string opciones - Es un hash de opciones que deben coincidir con los parámetros recibidos por Facturación Moderna para el timbrado
Regresa un objeto tipo FMRespuesta que contiene el xml certificado, el timbre y la representación en pdf o el cbb en png
51 52 53 |
# File 'lib/fm_adapter.rb', line 51 def timbrar (rfc, archivo, opciones= {}) cliente.timbrar rfc, archivo, opciones end |