Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[14.0][ADD] l10n_it_account_banking_sepa_credit_transfer #3301

Conversation

GSLabIt
Copy link
Contributor

@GSLabIt GSLabIt commented May 10, 2023

Superseed #3254

@francesco-ooops
Copy link
Contributor

@caiuka @matteoopenf @stefano-ooops potete riportare la review da #3254 in questa PR?

@francesco-ooops
Copy link
Contributor

@OCA/local-italy-maintainers possiamo mergiare?

@francesco-ooops
Copy link
Contributor

@primes2h posso chiedere una review?

@francesco-ooops
Copy link
Contributor

@OCA/local-italy-maintainers procediamo?

@primes2h
Copy link
Contributor

@primes2h posso chiedere una review?

Appena ho un attimo provo a dargli un'occhiata...

@gbtechnology
Copy link

@primes2h questo quello che ho trovato io per ora facendo i test:

in generate_payment_file un try except lo metterei : ho fatto diversi test e si rompe in alcuni punti dove mancano info necessarie. Prendi ad esempio name=self.company_partner_bank_id.acc_holder_name a linea 67: acc_holder_name non mi pare sia un parametro obblicatorio nell'account bancario quindi se manca si rompe. Idem in debtor.set_originator_id(cuc=cuc) quando nel controllo il cuc viene rilevato come non corretto.

Per una persona tecnica i messaggi di errori sono sufficienti a capire cosa manca/cosa è sbagliato, ma forse gestire il tutto con delle exception che rimandano a uno UserError potrebbe essere un'idea.

@GSLabIt GSLabIt force-pushed the 14.0-add-l10n_it_account_banking_sepa_credit_transfer branch from 42ecdca to 589ba17 Compare May 29, 2023 09:28
@GSLabIt
Copy link
Contributor Author

GSLabIt commented May 29, 2023

@gbtechnology puoi fare un test?

@gbtechnology
Copy link

@GSLabIt si, nel pomeriggio faccio altri test e vi dico.
Nel frattempo però vi anticipo che il file viene esportato correttamente, e la struttura validata dal checker http://www.cbiservice.com/correttoresepa.php

Vi tengo aggiornati.

@francesco-ooops
Copy link
Contributor

@gbtechnology sei riuscito a testare?

@gbtechnology
Copy link

Si @francesco-ooops , mi pare tutto ok (scusate il ritardo).

@francesco-ooops
Copy link
Contributor

@gbtechnology no problem, puoi approvare la PR da qui?

image

Copy link

@gbtechnology gbtechnology left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changes have been tested, and the module is working as expected.

@gbtechnology
Copy link

@francesco-ooops fatto 👍

@francesco-ooops
Copy link
Contributor

ok! @OCA/local-italy-maintainers quando possibile :)

Copy link

@stefano-ooops stefano-ooops left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

test funzionale ok

@francesco-ooops
Copy link
Contributor

@OCA/local-italy-maintainers merge?

@SirTakobi
Copy link
Contributor

È possibile vedere il codice di https://pypi.org/project/fintech?

@gbtechnology
Copy link

@SirTakobi non credo sia possibile, che io sappia il codice fintech non è aperto.

@francesco-ooops
Copy link
Contributor

@SirTakobi è un problema?

@primes2h
Copy link
Contributor

@primes2h questo quello che ho trovato io per ora facendo i test:

Scusa il mega ritardo.
Penso tu volessi citare @GSLabIt, che infatti ti ha risposto. 😉

@SirTakobi
Copy link
Contributor

@SirTakobi è un problema?

Penso che quello dipenda dalla compatibilità delle licenze, non ho idea se siano a posto o meno.

Sono talmente abituato a vedere il codice che viene eseguito, che mi è sembrato strano usare una libreria chiusa e quindi l'ho fatto notare.

Copy link
Contributor

@primes2h primes2h left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Grazie della PR!

@primes2h
Copy link
Contributor

Domanda non strettamente legata a questa PR.

Sapete se esistono dei glossari ufficiali relativi ai messaggi PAIN/CAMT ?

@matteoopenf
Copy link
Contributor

@SirTakobi è un problema?

Penso che quello dipenda dalla compatibilità delle licenze, non ho idea se siano a posto o meno.

Sono talmente abituato a vedere il codice che viene eseguito, che mi è sembrato strano usare una libreria chiusa e quindi l'ho fatto notare.

secondo me prima di altri fix e sviluppi vale la pena sentire Pedro o altri, altrimenti diventa inutile andare avanti se non ci sono le condizioni per fare il merge

@francesco-ooops
Copy link
Contributor

Ho verificato e la libreria ha la funzione di creare l'xml secondo lo standard CBI. Come scritto nella issue, altrimenti è necessario un bel po' di tempo per implementarlo da zero... anche solo trovare la documentazione è parecchio complicato.

Se qualcuno ha idee o indicazioni su come procedere per sviluppare senza usare fintech sono molto ben accette!

@primes2h
Copy link
Contributor

Ho verificato e la libreria ha la funzione di creare l'xml secondo lo standard CBI. Come scritto nella issue, altrimenti è necessario un bel po' di tempo per implementarlo da zero... anche solo trovare la documentazione è parecchio complicato.

Se qualcuno ha idee o indicazioni su come procedere per sviluppare senza usare fintech sono molto ben accette!

Tra l'altro qualcuno mi ha fatto notare che l'utilizzo di quella libreria in un ambiente cloud potrebbe violare nello specifico il primo punto delle limitazioni all'utilizzo:

image

Per quanto riguarda le alternative, ho trovato queste altre librerie:

https://github.com/boris-savic/python_sepa (licenza MIT) - Si ispira proprio alla libreria fintech, ma non sembra più mantenuta

https://github.com/raphaelm/python-sepaxml (licenza MIT)

Non so se supportano tutte le funzionalità richieste però potrebbe essere una base di partenza.

@primes2h
Copy link
Contributor

Per quanto riguarda le alternative, ho trovato queste altre librerie:

https://github.com/boris-savic/python_sepa (licenza MIT) - Si ispira proprio alla libreria fintech, ma non sembra più mantenuta

https://github.com/raphaelm/python-sepaxml (licenza MIT)

Non so se supportano tutte le funzionalità richieste però potrebbe essere una base di partenza.

Anche questa potrebbe essere d'aiuto:

https://github.com/puccia/sepacbi

@caiuka
Copy link

caiuka commented Jun 19, 2023

Propongo una cosa: contatto lo sviluppatore e gli chiedo una dichiarazione in merito, per essere sicuri di non avere problemi.
Peraltro già Noviat account_ebics integra la libreria con un modulo LGPL-3

Che ne pensate?

@primes2h
Copy link
Contributor

Propongo una cosa: contatto lo sviluppatore e gli chiedo una dichiarazione in merito, per essere sicuri di non avere problemi. Peraltro già Noviat account_ebics integra la libreria con un modulo LGPL-3

Che ne pensate?

Chiedere non costa nulla.
L'unico vincolo certo che vedo è che il modulo dovrebbe rimanere AGPL per rispettare la licenza AGPL delle due dipendenze account_banking_sepa_credit_transfer e account_payment_order, a meno che non venga spezzato in due come ipotizzavo qui.

@caiuka
Copy link

caiuka commented Jun 19, 2023

Propongo una cosa: contatto lo sviluppatore e gli chiedo una dichiarazione in merito, per essere sicuri di non avere problemi. Peraltro già Noviat account_ebics integra la libreria con un modulo LGPL-3
Che ne pensate?

Chiedere non costa nulla. L'unico vincolo certo che vedo è che il modulo dovrebbe rimanere AGPL per rispettare la licenza AGPL delle due dipendenze account_banking_sepa_credit_transfer e account_payment_order, a meno che non venga spezzato in due come ipotizzavo qui.

Chiedo per mia ignoranza:
Perché non è possibile linkare un modulo LGPL ad uno AGPL? Pensavo fosse possibile.
Inoltre vedo che ci sono diversi moduli LGPL in l10n-italy

@primes2h
Copy link
Contributor

primes2h commented Jun 19, 2023

Propongo una cosa: contatto lo sviluppatore e gli chiedo una dichiarazione in merito, per essere sicuri di non avere problemi. Peraltro già Noviat account_ebics integra la libreria con un modulo LGPL-3
Che ne pensate?

Chiedere non costa nulla. L'unico vincolo certo che vedo è che il modulo dovrebbe rimanere AGPL per rispettare la licenza AGPL delle due dipendenze account_banking_sepa_credit_transfer e account_payment_order, a meno che non venga spezzato in due come ipotizzavo qui.

Chiedo per mia ignoranza: Perché non è possibile linkare un modulo LGPL ad uno AGPL? Pensavo fosse possibile. Inoltre vedo che ci sono diversi moduli LGPL in l10n-italy

I moduli LGPL non possono avere come dipendenze moduli AGPL.
È possibile il contrario, cioè i moduli AGPL possono avere come dipendenze moduli LGPL.

Se noti i moduli LGPL presenti in l10n_italy hanno come dipendenze solo moduli LGPL (vedi ad es. https://github.com/OCA/l10n-italy/blob/14.0/l10n_it_account_stamp/__manifest__.py)

Queste sono le combinazioni possibili:
https://apps.odoo.com/apps/faq#maintainer_faq_04

@primes2h
Copy link
Contributor

Propongo una cosa: contatto lo sviluppatore e gli chiedo una dichiarazione in merito, per essere sicuri di non avere problemi.

Aggiungo solo una cosa.
A prescindere da cosa risponderà, se lo sviluppatore non modifica la licenza (rendendola più chiara ed esplicita) ci sarà sempre il rischio di futuri problemi legali IMHO.
Ciò che fa fede è sempre quello che c'è scritto nella licenza stessa; meno è chiara, più è pane per gli avvocati.

Come ha suggerito anche Pedro, se la funzione che serve è solo una piccolissima parte di quello che fa la libreria valuterei l'aggiunta nel codice di questa funzionalità.

Mi sembra che i link che ho indicato sopra, e che riporto di nuovo qui, siano una buona base per la creazione del codice:

https://github.com/puccia/sepacbi - XML secondo lo standard CBI accettato dalle banche italiane

https://github.com/boris-savic/python_sepa - fortemente ispirata alla libreria fintech

https://github.com/raphaelm/python-sepaxml

@caiuka
Copy link

caiuka commented Jun 20, 2023

Propongo una cosa: contatto lo sviluppatore e gli chiedo una dichiarazione in merito, per essere sicuri di non avere problemi.

Aggiungo solo una cosa. A prescindere da cosa risponderà, se lo sviluppatore non modifica la licenza (rendendola più chiara ed esplicita) ci sarà sempre il rischio di futuri problemi legali IMHO. Ciò che fa fede è sempre quello che c'è scritto nella licenza stessa; meno è chiara, più è pane per gli avvocati.

Come ha suggerito anche Pedro, se la funzione che serve è solo una piccolissima parte di quello che fa la libreria valuterei l'aggiunta nel codice di questa funzionalità.

Mi sembra che i link che ho indicato sopra, e che riporto di nuovo qui, siano una buona base per la creazione del codice:

https://github.com/puccia/sepacbi - XML secondo lo standard CBI accettato dalle banche italiane

https://github.com/boris-savic/python_sepa - fortemente ispirata alla libreria fintech

https://github.com/raphaelm/python-sepaxml

Capisco.
Se approfondisci un po' la cosa ti renderai conto che non è così banale.
Anche accedere alla documentazione CBI non è semplicissimo, ed è anche difficile testare la bontà dell'XML prodotto.

Delle librerie che hai linkato solo la prima è utile. In Italia lo standard non è SEPA, altrimenti andava bene il modulo di bank-payment, ma è CBI (lo fanno per non farci annoiare).
Ho usato quella libreria per un cliente diversi anni fa, per la v10.
Ma come vedi non è manutenuta da 9 anni, motivo per cui già quasi sicuramente non funzionante attualmente, visto che lo standard CBI si modifica non dico di frequente, ma neanche ogni morte di Papa.

Del resto, per essere una funzionalità direi abbastanza importante per un'azienda, il fatto che l'ultimo modulo risalga alla v8 mi sembra un'indicazione abbastanza chiara.

Ad ogni modo vediamo cosa risponde lo sviluppatore, e grazie intanto per le indicazioni e delucidazioni.

@primes2h
Copy link
Contributor

Propongo una cosa: contatto lo sviluppatore e gli chiedo una dichiarazione in merito, per essere sicuri di non avere problemi.

Aggiungo solo una cosa. A prescindere da cosa risponderà, se lo sviluppatore non modifica la licenza (rendendola più chiara ed esplicita) ci sarà sempre il rischio di futuri problemi legali IMHO. Ciò che fa fede è sempre quello che c'è scritto nella licenza stessa; meno è chiara, più è pane per gli avvocati.
Come ha suggerito anche Pedro, se la funzione che serve è solo una piccolissima parte di quello che fa la libreria valuterei l'aggiunta nel codice di questa funzionalità.
Mi sembra che i link che ho indicato sopra, e che riporto di nuovo qui, siano una buona base per la creazione del codice:
https://github.com/puccia/sepacbi - XML secondo lo standard CBI accettato dalle banche italiane
https://github.com/boris-savic/python_sepa - fortemente ispirata alla libreria fintech
https://github.com/raphaelm/python-sepaxml

Capisco. Se approfondisci un po' la cosa ti renderai conto che non è così banale. Anche accedere alla documentazione CBI non è semplicissimo, ed è anche difficile testare la bontà dell'XML prodotto.

Grazie per il chiarimento.

Forse conoscete già ma tentar non nuoce, non si sa mai (in caso chiedo venia).

Per testare l'XML prodotto questo può essere d'aiuto?

https://www.cbiservice.com/correttoresepa.php

Per la documentazione ho trovato questo...

https://babons.it/sct-tracciato-flusso/

...che porta a questo (è richiesta la registrazione):

https://www.cbi-org.eu/Services/Standards
https://www.cbi-org.eu/CBI-Service

Delle librerie che hai linkato solo la prima è utile. In Italia lo standard non è SEPA, altrimenti andava bene il modulo di bank-payment, ma è CBI (lo fanno per non farci annoiare). Ho usato quella libreria per un cliente diversi anni fa, per la v10. Ma come vedi non è manutenuta da 9 anni, motivo per cui già quasi sicuramente non funzionante attualmente, visto che lo standard CBI si modifica non dico di frequente, ma neanche ogni morte di Papa.

Capisco.

Del resto, per essere una funzionalità direi abbastanza importante per un'azienda, il fatto che l'ultimo modulo risalga alla v8 mi sembra un'indicazione abbastanza chiara.

Ad ogni modo vediamo cosa risponde lo sviluppatore, e grazie intanto per le indicazioni e delucidazioni.

Grazie a te.

@joonis
Copy link

joonis commented Jun 20, 2023

I'm the developer of the pyFinTech library. I do not see any legal issue to use the library in any AGPL/LGPL licensed software. If you just install the pyFinTech package from PyPI, the software is neither modified, nor adapted, nor merged.

You may not include the package into another one by making it a physical and inherent part of it. But of course you can depend on it.

@caiuka
Copy link

caiuka commented Jun 20, 2023

Propongo una cosa: contatto lo sviluppatore e gli chiedo una dichiarazione in merito, per essere sicuri di non avere problemi.

Aggiungo solo una cosa. A prescindere da cosa risponderà, se lo sviluppatore non modifica la licenza (rendendola più chiara ed esplicita) ci sarà sempre il rischio di futuri problemi legali IMHO. Ciò che fa fede è sempre quello che c'è scritto nella licenza stessa; meno è chiara, più è pane per gli avvocati.
Come ha suggerito anche Pedro, se la funzione che serve è solo una piccolissima parte di quello che fa la libreria valuterei l'aggiunta nel codice di questa funzionalità.
Mi sembra che i link che ho indicato sopra, e che riporto di nuovo qui, siano una buona base per la creazione del codice:
https://github.com/puccia/sepacbi - XML secondo lo standard CBI accettato dalle banche italiane
https://github.com/boris-savic/python_sepa - fortemente ispirata alla libreria fintech
https://github.com/raphaelm/python-sepaxml

Capisco. Se approfondisci un po' la cosa ti renderai conto che non è così banale. Anche accedere alla documentazione CBI non è semplicissimo, ed è anche difficile testare la bontà dell'XML prodotto.

Grazie per il chiarimento.

Forse conoscete già ma tentar non nuoce, non si sa mai (in caso chiedo venia).

Per testare l'XML prodotto questo può essere d'aiuto?

https://www.cbiservice.com/correttoresepa.php

Per la documentazione ho trovato questo...

https://babons.it/sct-tracciato-flusso/

...che porta a questo (è richiesta la registrazione):

https://www.cbi-org.eu/Services/Standards https://www.cbi-org.eu/CBI-Service

Delle librerie che hai linkato solo la prima è utile. In Italia lo standard non è SEPA, altrimenti andava bene il modulo di bank-payment, ma è CBI (lo fanno per non farci annoiare). Ho usato quella libreria per un cliente diversi anni fa, per la v10. Ma come vedi non è manutenuta da 9 anni, motivo per cui già quasi sicuramente non funzionante attualmente, visto che lo standard CBI si modifica non dico di frequente, ma neanche ogni morte di Papa.

Capisco.

Del resto, per essere una funzionalità direi abbastanza importante per un'azienda, il fatto che l'ultimo modulo risalga alla v8 mi sembra un'indicazione abbastanza chiara.
Ad ogni modo vediamo cosa risponde lo sviluppatore, e grazie intanto per le indicazioni e delucidazioni.

Grazie a te.

Esatto, quelli che hai trovato sono i riferimenti migliori...e direi gli unici.

babons.it dal punto di vista "operativo", molto concreto.
Ed il sito CBI...registrarsi è diventato difficile. Almeno, io non ci sono riuscito, ma per fortuna ho ritrovato le credenziali di accesso di quando ho fatto lo sviluppo per la v10.

Infine, il link per il test...ha dato risultati contrastanti: dava errore quando importando l'XML in banca non ne dava, e viceversa.
Per cui il test di questo modulo è andato avanti ad importazioni nell'home banking...

Direi che abbiamo sviscerato un po' tutto il contesto :-D
Il che, credo, quanto meno fa bene un po' a tutti gli interessati.

@OpenCode
Copy link
Contributor

@SirTakobi è un problema?

Penso che quello dipenda dalla compatibilità delle licenze, non ho idea se siano a posto o meno.

Sono talmente abituato a vedere il codice che viene eseguito, che mi è sembrato strano usare una libreria chiusa e quindi l'ho fatto notare.

Personalmente non amo il fatto che dei dati aziendali, compresi e sopratutto dati finanziari/contabili, viaggino attraverso del codice che non possiamo leggere. Questo lo dico dal punto di vista di un modulo OCA. Poi ognuno è libero di fare queste implementazioni per i propri clienti come meglio crede. MA chi usa un modulo OCA dovrebbe avere una certa garanzia di trasparenza pur non essendo capace di leggere il codice.
Personalmente preferirei che un modulo legato a librerie chiuse non stia nei nostri repo.
Se poi, si decide di tenerlo, abbandonerei il nome generico e lo legherei di più alla libreria per far capire che è un layer basato su una determinata libreria.

My2PuristCents

@GSLabIt GSLabIt force-pushed the 14.0-add-l10n_it_account_banking_sepa_credit_transfer branch from 5d2595a to b9ab064 Compare June 20, 2023 13:00
@primes2h
Copy link
Contributor

@caiuka
Copy link

caiuka commented Jun 23, 2023

@caiuka

Ho trovato questo bel progetto italiano [1] con licenza GPL, che implementa anche CBI SEPA [2] [3] e sembra molto aggiornato. Lo conoscevi già?

[1] https://github.com/devcode-it/openstamanager [2] https://github.com/devcode-it/openstamanager/blob/cb8adfecc95319d7dd581d809d542b325894785d/plugins/presentazioni_bancarie/src/Cbi/CbiSepa.php [3] https://github.com/devcode-it/openstamanager/blob/cb8adfecc95319d7dd581d809d542b325894785d/plugins/presentazioni_bancarie/template/template_CBIPaymentRequest.xml

No, non lo conosco.
Però non essendo una libreria, non mi è chiaro come utilizzarlo per i nostri scopi, se non sviluppando il codice completamente per poi manutenerlo (ma non sono uno sviluppatore, per cui probabilmente mi perdo qualcosa).

@GSLabIt
Copy link
Contributor Author

GSLabIt commented Jun 30, 2023

/ocabot rebase

@OCA-git-bot
Copy link
Contributor

Sorry @GSLabIt you are not allowed to rebase.

To do so you must either have push permissions on the repository, or be a declared maintainer of all modified addons.

If you wish to adopt an addon and become it's maintainer, open a pull request to add your GitHub login to the maintainers key of its manifest.

@francesco-ooops
Copy link
Contributor

Sorry @GSLabIt you are not allowed to rebase.

To do so you must either have push permissions on the repository, or be a declared maintainer of all modified addons.

@OCA/local-italy-maintainers le limitazioni per lanciare il rebase sono sempre state queste? Sarebbe comodo per chi ha aperto la PR di fare il rebase con un comando

@SirTakobi
Copy link
Contributor

Sorry @GSLabIt you are not allowed to rebase.
To do so you must either have push permissions on the repository, or be a declared maintainer of all modified addons.

@OCA/local-italy-maintainers le limitazioni per lanciare il rebase sono sempre state queste?

Che io sappia sì

Sarebbe comodo per chi ha aperto la PR di fare il rebase con un comando

Puoi proporlo in https://github.com/OCA/oca-github-bot/issues; chi ha aperto la PR comunque potrebbe semplicemente fare il rebase in locale e poi pusharlo

@francesco-ooops francesco-ooops linked an issue Dec 22, 2023 that may be closed by this pull request
2 tasks
@patrickt-oforce
Copy link
Contributor

Domanda non strettamente legata a questa PR.

Sapete se esistono dei glossari ufficiali relativi ai messaggi PAIN/CAMT ?

Si trovi i messaggi europei su iso20022.org per l'italia su cbi-org.eu

@francesco-ooops
Copy link
Contributor

Chiudo per le obiezioni ad utilizzare libreria esterna

@primes2h primes2h mentioned this pull request Jul 2, 2024
2 tasks
@primes2h
Copy link
Contributor

primes2h commented Jul 2, 2024

Domanda non strettamente legata a questa PR.
Sapete se esistono dei glossari ufficiali relativi ai messaggi PAIN/CAMT ?

Si trovi i messaggi europei su iso20022.org per l'italia su cbi-org.eu

Grazie!
I messaggi europei vedo che sono pubblici, ma non trovo quelli per l'Italia su cbi-org.eu. Come funziona? Bisogna registrarsi?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

SEPA - SCT ed SDD