odoo / odoo

Odoo. Open Source Apps To Grow Your Business.
https://www.odoo.com
Other
38.15k stars 24.77k forks source link

l10n_de_reports DATEV problem regarding personenkonen (partner accounts) #31343

Closed thomaspot closed 3 years ago

thomaspot commented 5 years ago

Impacted versions: 11 EE (but maybe 12 also?!)

Steps to reproduce: Create a db. and install Accounting, l10n_de_reports, SKR_03 accounting scheme Create a customer invoice and confirm Goto General ledger and choose DATEV Export

Current behavior: When creating a DATEV export the partner account is set by the database ID in Odoo. but will be set with leading zeroes. Example res.partner id = 1400 will become in csv: 000001400 We spoke to a technical person at Datev; He stated that during import all leading zeroes will be deleted. So in DATEV this will become again 1400. This will be a problem, because the system cannot identify this as a partner account + this could be also the 'Receivable' account in SKR03 when using 4 digits for accounts.

https://github.com/odoo/enterprise/blob/11.0/l10n_de_reports/models/datev_export_csv.py#L188

Expected behavior: I'm not sure about this;

  1. Maybe set a config parameter somewhere in accounting to determine the lenght of the accounts (Odoo now only uses 8 and 9 characters, but customers normally use 4 digits)
  2. Parter accounts always use id + 100.000.000, so 1400 will be in export 100.001.400

Maybe It would be a good idea, because this is enterprise and paid for by customers, the product owner of Odoo can get in touch with me to explain further?

Or maybe one of the German Partners has a suggestion?

Yenthe666 commented 5 years ago

@thomaspot I see you're reporting an enterprise issue here. Why don't you report it on odoo.com/help with your license? The support is faster there and Github is rather for issues in the non-enterprise issues. Is there a reason you don't report it there?

thomaspot commented 5 years ago

@Yenthe666 Hello Yenthe, Odoo advised me to do both actually. So I also created a ticket. But maybe another partner in DE has this module succesfully implemented, and can give some feedback, so this maybe helpfull. A ticket is private.

Yenthe666 commented 5 years ago

Ahh I see, interesting. Sometimes they say to do it, sometimes they explicitly say to not report on two places. Odd. CC @pedrobaeza

tv-openbig commented 5 years ago

@thomaspot @Yenthe666 I am just reading your issue. If you would use the default odoo account from the accounting chart you would not get that issue with datev export file. Here is the line reference of the receivable account which would be normally assigned to customers if you don't change anything by hand: https://github.com/odoo/odoo/blob/443b810e09ef0e31d5025996950df08c7666d5f6/addons/l10n_de_skr03/data/l10n_de_skr03_chart_data.xml#L10273

It is totally different on datev side if you take "1410" or "1400" as an account for your customers: "1400" is a "non bookable account" in the terminology of datev as it holds and summarizes all moves on datev "personal" per debitor accounts, which starts from 10000 to 69999 (if you decide for a 4-digits chart, for 5-digits chart the personal accounts in that mentioned range would be 6-digits, for 6-digits->7-digits, up to 8-digits chart -> 9 digits personal accounts).

As in Odoo it isn't required to have a separate financial account for each partner, we decided to use the account "1410" which is marked in the datev account chart "SKR03" as a bookable account. By doing that, we can avoid definition of many accounts in the area 10000...69999 (for a 4-digits chart).

To fix your issue on datev side by hand you can also just change the account code from 1400 to any account of your choice in the range between 10000 or 69999 (eventually you have to make a .csv import if you already have booked on that account, because you eventually can't change the code anymore for that reason).

Certainly if anyone could write a module which creates on each customer creation a new receivable account counting up from 10000 ... 69999 you would probably have the perfect solution to satisify datev export. For Odoo that is normally not required and if a german company wants to export accounting data from DATEV but wants to check their customer invoice payments in Odoo, f.e. with followup-management than it is also not required.

That scenario is just required if a german company wants to outsource not only the general accounting but also the open invoices management, eventually also the supplier payments to an external tax advisor. In most cases this doesn't make too much sense, but for sure it can happen and in that case probably such an extension would be required.

I hope my answer fixes your issue.

thomaspot commented 5 years ago

Hello Thorsten,

Thank you for your comment. Really appreciate it. Unfortunately I do not really know exactly what you mean.

As in Odoo it isn't required to have a separate financial account for each partner, we decided to use the account "1410" which is marked in the datev account chart "SKR03" as a bookable account. By doing that, we can avoid definition of many accounts in the area 10000...69999 (for a 4-digits chart). Say we look at receivables / Customer invoices. I know if we set a seprate account per customer in the DATEV export this account will be used.

This is exactly what we would like to achieve. No seperate accounts for every customer. We do not want this, but always use the same receivable account (1410)

But If we keep it the default account (1410) the DATEV export will specify an account that is taken from the database ID of the customer (partner_id.id) will be used.

I Also tested it by setting a specific receivable account on the customer; But again the export will have two separate exports. In the "EXTF_customer_accounts.csv" there still will be used the database id?!

So I'm really confused how the other system (DATEV) will know this is linked.

On the other hand (that is what DATEV told us) the customer account (in my example 000000244) will be cut and set to "244". This could result in double accounts; for example when a customer has ID 1410. So we believe this can not be used to import in DATEV?

Second problem is length of the accounts. In Odoo these are set to 4 digits. You would expect that the DATEV export would also be 4 digits (and 5 for personenkonten). But Odoo default uses 8 / 9 digits. I believe this is not desirable and should be determined by the system parameter?

Do you have existing customers who use the Odoo enterprise DATEV export successfully on the DATEV system?

Settings: screenshot-thomaspot-odoo11-test1-test-ppf24-1-257984 dev odoo com-2019 02 26-12-17-51

The result selection_090

intero-chz commented 5 years ago

@thomaspot that export just looks wrong as your example screenshots show perfectly. Looks like a bug on the Datev export of Odoo EE. It should be "Konto 84000000" and "Gegenkonto 14100000". Why 8 digits? Because cell N1 is stating an account length of 8 digits. I have no idea, if that is configurable, because i never really looked into Odoo's Datev export yet (just tried it out on first introduction of it and cried for hours...). I hope it uses the accounting configuration setting, but i doesn't look that way, because your screenshot is showing 4 digits account lengths.

Yenthe666 commented 3 years ago

Hi,

Sorry but Odoo V11 is no longer supported officially so we have to close this one. Don't hesitate to update the ticket or create a new one if you can reproduce this in V12 and up though.

Regards, Yenthe