This question has been flagged

Hi

I would like to define income and expense accounts for a product during a csv-import. What I tried so far is to export keys "property_account_expense/id" and "property_account_income/id". They contain values like "product_product_721_1", "product_product_721_2" aso. So they seem not to reference an existing account directly. How can I reference an existing account, say "account_account_721"?

Cheers Daniel

Avatar
Discard

Locate the account you want to reference from accounts. Export the accounts, get the ids and add these ids in the right column of your product csv sheet.

Author

I tried this. Getting an error like "No matching record found for external id 'account_account_721' in field 'Expense Account' at row 2" for each line.

Silly question to ask but are you sure you are using the correct account required by the field? or the account is created correctly?

Please patch the bug outlined at https://bugs.launchpad.net/openobject-server/+bug/1194893 - if you are getting a second underscore, this bug is preventing the generation of correct XML id's for related fields.

Best Answer

You seem to be doing the right thing. When you export the "Expense Account" and "Income Account" columns, you should not pay attention to the looks of the External ID of those accounts, it's correct, Technically it will look like __export__.product_product_864 simply because it was generated on-the-fly while performing an export of product with ID 864. But it still refers to an account, so you can reuse it for another product if you want to use the same account.

Have you actually tried to copy that value (including the __export__ prefix!) to another product and re-import that modified file? Does it work? It should work just fine.

Note that providing an External ID for filling in a column is only one of the possible options, albeit the safer one. You can also change the title of the column and drop the /id part (i.e. property_account_income/id becomes property_account_income) and then provide the account name (ideally unique!) or preferably the account code in that column, instead of the External ID.

Avatar
Discard
Author

This solves it. Thanks a lot. It is not even necessary to add "/code" to import the unique account codes. "property_account_income" is enough. Actually, it does perfectly work withouth the "__export__." prefix to import the codes. I tried the generated on-the-fly ids, they cannot be imported (tried without the prefix though).

Yes, the __export__ prefix is actually a pseudo-module name and it is a part of the External IDs. That probably explains why the generated IDs did not work for you. For other values (names or codes) there is no prefix, you must use the exact name/code.