Comments (8)
@bealdav some clarification:
edi framework seems an abstract [...]
Is not "abstract", is quite "concrete" actually. It's generic enough so that you can plug it with any existing or new EDI/non-EDI exchanges.
Of course it makes more sense for interchanging data with third parties and keep track of these exchanges.
THE solution of the future for any kind of exchange
It's for the present as well ;)
more ready to go
It is ready, you just have to know how to use it and understand the main concepts and low level behaviors. I'd say like 80/90% of the modules out there probably but in this case there is some more complex stuff.
That's my fault, of course, since I couldn't find the time yet to write some good docs. π
@john-herholz-dt thanks for your feedback π
Is there anything planned for a great refactoring or re-organisation of this repository? I would like to contribute.
I'd like to split framework modules out. However, this won't help solving your problem.
My biggest headache with the EDI framework right now is - it is not telling when what happens how.
For example: Setup Exchange Type and the exchange record will get create, generated, validated and send.
This is up to your implementation. We cannot decide when you want to produce or process a file.
If you think you need some training, feel free to contact me at simone.orsi <at> camptocamp.com
So improving the Usability on the exchange type would be much better.
More dropdowns, less code fields or text fields.
If you have any proposal to improve the UI, feel free to open a PR or an issue as RFC π
Finally, please remember that being a "framework" it tries to not make any business logic decision and leaves to the specific modules (eg: edi_sale* or edi_purchase*) the implementation of the logic or a basic configuration.
Maybe - when time allows - we can organize a sprint to work all together on specific subjects.
Meanwhile we can create a shared doc or use discussions on the new repo for the framework to find out what are the most rated pain points and/or improvements we can work on.
My $0.02 π
from edi.
@johnny-longneck thanks for reaching out and raising the problem.
Docs are one of my ROADMAP targets, at least for the EDI framework.
Unfortunately I'm too busy right now to work on this.
If you are in a hurry, please send me an email at simone.orsi <at> camptocamp.com
.
If not, can you please list here your requirements?
If you can, write them as a use case from top to bottom and I'll try to reply w/ as much details as possible.
If this works, then you can take care of adding a piece of documentation π
From what I see in your description you need to send PO UBL over FTP.
You'll need this #669 (WIP) + edi_storage_oca + a bit of configuration.
from edi.
Hey @simahawk thanks for your reply.
That's a deal that I could add documentation - once I know how it works.
For now our special use case is:
Suppliers mostly don't support UBL format and we work with them via XML exchanges.
As a seller I want to send an partner specific XML document with the purchase information to the seller via SFTP on purchase order action "send via E-Mail" (Note: on confirmation is too late, since we need to check their reply)
Later I will also need to send custom template documents (txt files, xml files) for stock.picking to our delivery partners.
As of now: I cannot get anything added to the Job Queue | Exchange list.
(Probably it does not work with out custom component, right)
from edi.
In #669 you have a good example on how to achieve it.
The only difference would be that your "generate" method of the output component won't generate UBL but something else.
Tip: copy edi_purchase_ubl_oca from that PR, rename after your project, adapt the component and the exchange type.
For the storage, install edi_storage_oca and configure a storage on the edi backend.
In theory you don't need to configure anything on the exchange type because the storage will be used automatically.
from edi.
Hi @johnny-longneck edi framework seems an abstract and generic way to build exchange, problably THE solution of the future for any kind of exchange.
If you only want to deal with exchange of files (no web services) an alternative and more ready to go could be
https://github.com/OCA/server-tools/tree/14.0/attachment_synchronize
https://github.com/OCA/server-tools/tree/14.0/attachment_queue
my 2 cts
from edi.
Hey @simahawk ,
I started working on our company's EDI project and started with migrations of base modules from this repo.
I was hoping for a centralized way to handle EDI but as far as I investigate the modules, it seems, it is totally loose.
At the moment I cannot get anything to create a simple file in the exchange tree view for me.
As I look into the modules it seems invoice creation and sending is done via button, but not in the exchange list of the EDI backend? Sale Order UBL is also just embedding the reports with UBL XML (which is great but not what I am looking for)
...and so on.
Can you please please please give me the most basic example how to setup the EDI Framework to:
Auto generate a record, let's say purchase order, on purchase order action_confirm.
The generated record should be visible in the exchange record tree view
Explain how the transmission is triggered.
Also: is there any module example already where an input record of an exchange is validated and imported?
If I cannot get this running, I will end up with my own implmentation but I was really hoping for a community based EDI solution for Odoo.
Kind regards,
John
from edi.
Hi @john-herholz-dt Let me try to show you an example π
As an example I will use l10n_es_facturae the electronic spanish invoice send to state customers using a platform called FACe:
https://github.com/OCA/l10n-spain/tree/14.0/l10n_es_facturae_face/
We generate the EDI record when we post the invoice. It is notified using a listener:
The hook to execute it was defined here:
https://github.com/OCA/edi/blob/14.0/edi_account_oca/models/account_move.py#L21
As you can see, the listener checks if the move is from a customer that needs this sending and then generates the record here.
https://github.com/OCA/l10n-spain/blob/14.0/l10n_es_facturae_face/components/account_move_l10n_es_facturae_listener.py#L38-L40
In this example, the electronic invoice is generated automatically in the same line (but not sent)
The file is generated using a template (https://github.com/OCA/l10n-spain/blob/14.0/l10n_es_facturae_face/data/edi_output.xml#L3-L12) But it could be done using a component (as we had on 13.0) https://github.com/OCA/l10n-spain/blob/13.0/l10n_es_facturae_face/components/edi_output_l10n_es_facturae.py#L8-L15
Later, when edi cron is executed, it will proceed with the send. In this case, it is using a strange webservice, so the sending is done with another component. https://github.com/OCA/l10n-spain/blob/14.0/l10n_es_facturae_face/components/edi_send_l10n_es_facturae_face.py#L18
We could have proceeded with the automatic generation, but we usually leave it to the cron in order to avoid a block for the user. Also, if we use an standard sending like sftp or something like that, we can avoid to do it using edi_storage
So, this is an example of how EDI works to send data. Do you need the reception too? An example for that could be https://github.com/OCA/server-ux/tree/14.0/document_quick_access_folder_auto_classification
from edi.
Hi @etobella ,
this was extremely helpful!
I just wonder why the basic modules implement the events but not the listeners.
The flexible nature for components is a great idea but the motivation "Make it simple for non-developers" completely fails at the moment.
Is there anything planned for a great refactoring or re-organisation of this repository? I would like to contribute.
My biggest headache with the EDI framework right now is - it is not telling when what happens how.
For example: Setup Exchange Type and the exchange record will get create, generated, validated and send.
So improving the Usability on the exchange type would be much better.
More dropdowns, less code fields or text fields.
But for now I will go on with my research, trying to get our project here running and contribute on the migration of existing modules.
Thanks a lot!
from edi.
Related Issues (20)
- Question regarding OVH authentication HOT 4
- [14.0] Can't find "endpoint" module required for edi_endpoint_oca HOT 1
- edi_oca: exchange dependency HOT 3
- [14.0] edi_storage_oca with SFTP backend ACK aren't synchronized HOT 3
- 14.0 edi_oca synchronize ACK state with parent state when parent isn't processed by itself HOT 5
- Proposed changes for account_invoice_import v16 HOT 3
- Proposal for sale_order_import_csv: migration and import profiles HOT 1
- account_invoice_facturx: Mandatory country issue HOT 7
- Build red on 14.0 and 15.0 branch HOT 1
- pdf_helper.: PDF file parsing failed: '/Names' HOT 4
- account_invoice_facturx:Β Invoice generated are not valid facturx
- PyPDF2 usage problem in pdf_helper 16.0 HOT 2
- Migration to version 17.0 HOT 6
- [14.0] account_invoice_ubl_peppol tests broken
- Invalid XML invoice according to Mustang app if invoice and company have different currency HOT 1
- product.uom missing for Module account_invoice_import_facturx HOT 1
- Use import simple pdf module with email attachments HOT 1
- [15.0] edi_oca: support multicompany with edi.exchange.record HOT 3
- [14.0] Unable to install edi_webservice_oca, element '<notebook>' cannot be located in parent view
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from edi.