Class: Einvoicing::Connect::FR::Pennylane::EInvoiceSubmitter
- Inherits:
-
Object
- Object
- Einvoicing::Connect::FR::Pennylane::EInvoiceSubmitter
- Defined in:
- lib/einvoicing/connect/fr/pennylane/e_invoice_submitter.rb
Overview
Orchestrates Factur-X generation and submission to Pennylane's e-invoice import endpoint.
Requires the hexapdf gem (used internally by Einvoicing::Formats::FacturX).
Instance Method Summary collapse
-
#initialize(credentials:, sandbox: false) ⇒ EInvoiceSubmitter
constructor
A new instance of EInvoiceSubmitter.
-
#submit(invoice, pdf:, invoice_options: nil) ⇒ Hash
Generates a Factur-X PDF from
invoiceandpdf, then submits it.
Constructor Details
#initialize(credentials:, sandbox: false) ⇒ EInvoiceSubmitter
Returns a new instance of EInvoiceSubmitter.
27 28 29 |
# File 'lib/einvoicing/connect/fr/pennylane/e_invoice_submitter.rb', line 27 def initialize(credentials:, sandbox: false) @client = Client.new(credentials: credentials, sandbox: sandbox) end |
Instance Method Details
#submit(invoice, pdf:, invoice_options: nil) ⇒ Hash
Generates a Factur-X PDF from invoice and pdf, then submits it.
37 38 39 40 41 |
# File 'lib/einvoicing/connect/fr/pennylane/e_invoice_submitter.rb', line 37 def submit(invoice, pdf:, invoice_options: nil) xml = Einvoicing::Formats::CII.generate(invoice) facturx_pdf = Einvoicing::Formats::FacturX.(pdf, xml) @client.submit_einvoice(facturx_pdf, invoice_options: ) end |