Account moves for purchase and sale of salable goods Romanian accounts

This question is similar to stock config french chart, which was not answered there because there was also a bug found.

I am trying to understand Accounting in Tryton by following a product from purchase to sale.

After me and my accountant understand how account* and stock* modules work, then we can hopefully correctly create the account_ro module.

In this example I will be using the (not yet fully configured) Romanian chart of accounts (because this is what my accountant knows) however the codes are very similar to the French chart. For completeness we have also tried using the French chart with the same results. For this example I will ignore any taxes.

I have activated account_stock_continental which allows me to configure the 3xx accounts for the product account category of the product which we are purchasing/selling. I have read the documentation and translated it for my authorized accountant, but we still do not understand.

We would like to have the following account moves created following the purchase of goods and selling it. This is the normal accounting formula where we receive the supplier invoice in the same period as the incoming stock.

Debit Credit Description
371 401 Purchase of product and received supplier invoice
401 5121 Pay supplier from local currency bank account
4111 707 Sale
607 371 Stock out
5121 4111 Receive customer payment

371 is the account for stock.
account_stock_continental gives us the following options:

Journal Stock: The journal used for stock move.
I think we understand this.

Account Stock: The account which is used to record stock value.
From our point of view there is a single account used to hold the stock value for a purchasable/saleable product. The same account as IN or OUT.

Account Stock IN: The counter part account for incoming stock moves.
Account Stock OUT: The counter part account for outgoing stock moves.
We do not understand this. See above.

We have the revenue and expense accounts selected in the product account category selected.

What we have tried:

(both using the french and romanian chart of accounts, on different databases)
Select 371 for Stock IN and Stock OUT in the product account category.
I get:
The value for field "Account Stock IN" in "Category Account" is not valid according to its domain. Closed: !True

Leave Stock IN and Stock OUT without an account. Create purchase, supplier invoice, supplier shipment. We get the following error:
There is no "Account Stock IN" defined for "product".

With the French chart select some 7* account for stock in, and some 6* account for stock out. But the account moves that are created after receiving the supplier shipment and sending the customer shipment do not make sense.

Questions:

  1. Question: Can what we wish to do be done using the account_stock_continental module?
    Is it the wrong module, or perhaps a module that does what we want does not exist.

  2. Question: If the account_stock_continental module is the right one, how should we configure the Stock account, stock in and stock out?

  3. Question: For sale I can create automatically the customer invoice and customer shipment. But with purchase I can only create the supplier invoice from the purchase module. How to create everything from purchase module so that the origins are associated with each other correctly?

I’m answering only to stock accounting questions (the others should go to a new topic).

I guess the product revenue is 707.
So for me it is clear that the “Account Stock OUT” must be configured to the account 607.

As we can see when selling product you have two “moves” one for the revenue and one for the stock. But for purchase the example is strange because there is only one move. Usually this is a short cut because it does not manage support to book difference in the price between the reception of the goods and the reception of the invoice.
Usually an expense account is debited and credited with the price of the goods (and keep any difference).
So I guess you can set the “Account Stock IN” also to 607 (if there is not difference) and the “Account Expense” to an expense account which will book as expense any price difference.