Importing and exporting electronic invoices

We had been requested several times to add electronic invoice integration on Tryton, for us this means:

  • Generating an electronic message to be sent to customers. This message is a representation of the invoice.
  • Generating a supplier invoice from a message received from the supplier.

From my research (correct me if i’m wrong,
) there are several formats: edifact, edi-gs1, unefact, etc. This is solved by implementing several edocument modules

I’m missing a feature to be able to import and/or export a message in any of the electronic formats.

My first idea is to use the reporting engine to generate the export messages and a wizard (similar to what we have in account_statement module) to be able to import the invoices but I’m not sure if this is too simplistic. Any feedback on this will be much apreciatted.

Note that I’m refering to electronic invoices as messages despite most of the times they are files. This is done on proupose as we should support sending/receiving invoices with other formats, for example using an API or similars. Probably this can be implemented similary to the account_payment_sepa module where a message is generated and latter exported as file.

For me, the input/output of electronic document mainly depends on the protocol used to receive/send the document. So I do not see any generic design there but only case by case like for account_fr_chorus.