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

[RFC] l10n_br_payment_order*: Use native payment object #2272

Closed
rvalyi opened this issue Dec 23, 2022 · 7 comments
Closed

[RFC] l10n_br_payment_order*: Use native payment object #2272

rvalyi opened this issue Dec 23, 2022 · 7 comments

Comments

@rvalyi
Copy link
Member

rvalyi commented Dec 23, 2022

Pessoal, não é so nesse repo que estamos dando uma limpa antes de carregar as coisas para v15/v16, o pessoal tb ta fazendo isso no modulo OCA account_bank_payment e isso vai no impactar aqui para os módulos de CNAB de cobrança e de pagamento:
OCA/bank-payment#979

Lembrando tb que quando der seria legal tb fazer um refactor para integrar o modulo https://github.com/OCA/bank-payment/tree/14.0/account_payment_order_return para lidar com os retornos de CNAB, pois tinhamos feito do nosso proprio jeito aqui antes de ter esse modulo account_payment_order_return maduro na OCA.

cc @renatonlima @mbcosta @antoniospneto @felipemotter @marcelsavegnago @mileo

@rvalyi
Copy link
Member Author

rvalyi commented Dec 23, 2022

cc @douglascstd

@rvalyi
Copy link
Member Author

rvalyi commented Jan 1, 2023

(o merge de OCA/bank-payment#979 foi feito)

@marcelsavegnago
Copy link
Member

Eu estava acompanhando isso também. Acredito que independente de atualizar o repo bank-payment nos ambientes de clientes esta mudança deve impactar testes de novas PRs no repo da localização ou estou enganado?

@rvalyi
Copy link
Member Author

rvalyi commented Jan 10, 2023

so para esclarecer: até os 2 módulos l10n_br_account_payment e l10n_br_account_payment_brcobranca serem refatorados, nos testes desse repo, a gente forçou a usar uma revisão anterior do repo OCA/bank-payment e então do modulo account_payment_order, usando esse workaround #2289

@felipemotter
Copy link
Contributor

@rvalyi nas nossas implementações estamos fazendo isso também. Como estavamos conversando no telegram, o refactor não será tão simples e se fosse para refatorar trazendo de volta os bank lines levaria certo tempo.

Eu havia começado o refactor e a forma mais crua já havia sido feita. Mas o problema de o pagamento ser confirmado desde o inicio já estava ocasionando erros nos testes. Esse é a branch que eu estava fazendo a poc: https://github.com/Engenere/l10n-brazil/tree/14.0-ref-br-pay-order

@mbcosta
Copy link
Contributor

mbcosta commented Apr 20, 2023

Pessoal procurei alterar os módulos da localização que dependem do account_payment_order para tornar possível ao menos funcionar com as alterações que foram feitas no account_payment_order, isso está no PR #2386 existem algumas considerações que fiz lá mas vou colocar aqui também:

Sobre a migração e uso do account.payment no caso CNAB, eu testei criando um banco de dados com os dados de demonstração sem essas alterações Confirmando duas Faturas Unicred e gerando uma Ordem de Debito até o fim e fazendo o retorno do CNAB de um caso e deixando a outra Ordem no estado Confirmado.

Caso sejam criados os account.payment, o que é feito pelo account_payment_order, apesar de existirem somente dois account.move o script de migração acaba criando vários account.payment o que fica errado, pois só deveriam existir dois Pagamentos
image

Existem outros problemas relacionados a implementação do account_payment_order o código considera que toda account.payment.line deve gerar um account.payment o que não é o caso do CNAB devido a possibilidade de mandar outras Instruções como "Alteração de Vencimento", "Desconto" e etc ( https://github.com/OCA/l10n-brazil/blob/14.0/l10n_br_account_payment_order/models/l10n_br_cnab_change_methods.py ), onde nesses casos não deve criar um account.payment e ao informar que o arquivo foi Enviado/File Uploaded ocorre uma Reconciliação dos account.payment criados o que também não é real no caso CNAB Cobrança porque o banco precisa antes Confirmar a Instrução e a reconciliação só deve ocorrer quando o Banco informa via CNAB que houve esse pagamento, o código não está considerando que existem recebimentos a prazo.

Por isso optei por sobre escrever o método draft2open do account.payment.order para que nos casos CNAB não seja criado o account.payment mantendo assim o mesmo comportamento que existe hoje e dessa forma ser possível atualizar o account_payment_order e deixar tanto o uso do account.payment quanto do modulo https://github.com/OCA/bank-payment/tree/14.0/account_payment_order_return para tratar o Arquivo de Retorno do CNAB no ROADMAP do modulo referenciando esse RFC e dessa forma também ter PRs específicos para essas mudanças.

@rvalyi
Copy link
Member Author

rvalyi commented May 28, 2023

pessoal, foi feito o merge do #2386 então tou fechando esse RFC

@rvalyi rvalyi closed this as completed May 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants