changeset df7cddd187d8 in modules/account_stock_anglo_saxon:default
details:
https://hg.tryton.org/modules/account_stock_anglo_saxon?cmd=changeset;node=df7cddd187d8
description:
Use only 3 stock accounts
This simplify the configuration and allow to update cost price without
asking
for accounting information.
issue7273
review262541002
diffstat:
invoice.py | 9 +-
stock.py | 2 +-
tests/scenario_account_stock_anglo_saxon.rst | 38 ++++-----
tests/scenario_account_stock_anglo_saxon_with_drop_shipment.rst | 36 ++++-----
4 files changed, 38 insertions(+), 47 deletions(-)
diffs (215 lines):
diff -r 4b06f494f83f -r df7cddd187d8 invoice.py
--- a/invoice.py Sat Dec 28 17:48:50 2019 +0100
+++ b/invoice.py Wed Jan 08 14:36:45 2020 +0100
@@ -34,13 +34,11 @@
if type_.startswith('in_'):
move_line.debit = amount
move_line.credit = Decimal('0.0')
- account_type = type_[3:]
+ move_line.account = self.product.account_stock_in_used
else:
move_line.debit = Decimal('0.0')
move_line.credit = amount
- account_type = type_[4:]
- move_line.account = getattr(self.product,
- 'account_stock_%s_used' % account_type)
+ move_line.account = self.product.account_stock_out_used
result.append(move_line)
debit, credit = move_line.debit, move_line.credit
@@ -113,7 +111,8 @@
self.product, moves, abs(self.quantity), self.unit, type_)
cost = self.invoice.company.currency.round(cost)
- with Transaction().set_context(date=accounting_date):
+ with Transaction().set_context(
+ company=self.invoice.company.id, date=accounting_date):
anglo_saxon_move_lines = self._get_anglo_saxon_move_lines(
cost, type_)
result.extend(anglo_saxon_move_lines)
diff -r 4b06f494f83f -r df7cddd187d8 stock.py
--- a/stock.py Sat Dec 28 17:48:50 2019 +0100
+++ b/stock.py Wed Jan 08 14:36:45 2020 +0100
@@ -63,7 +63,7 @@
Decimal(str(self.quantity)) * (unit_price - cost_price))
if self.company.currency.is_zero(amount):
return lines
- account = self.product.account_stock_supplier_used
+ account = self.product.account_stock_in_used
for move_line in lines:
if move_line.account == account:
break
diff -r 4b06f494f83f -r df7cddd187d8
tests/scenario_account_stock_anglo_saxon.rst
--- a/tests/scenario_account_stock_anglo_saxon.rst Sat Dec 28 17:48:50
2019 +0100
+++ b/tests/scenario_account_stock_anglo_saxon.rst Wed Jan 08 14:36:45
2020 +0100
@@ -83,10 +83,8 @@
>>> revenue = accounts['revenue']
>>> expense = accounts['expense']
>>> stock = accounts['stock']
- >>> stock_customer = accounts['stock_customer']
- >>> stock_lost_found = accounts['stock_lost_found']
- >>> stock_production = accounts['stock_production']
- >>> stock_supplier = accounts['stock_supplier']
+ >>> stock_in = accounts['stock_expense']
+ >>> stock_out, = stock_in.duplicate()
>>> cogs = accounts['cogs']
Create parties::
@@ -106,10 +104,8 @@
>>> account_category.account_revenue = revenue
>>> account_category.account_stock = stock
>>> account_category.account_cogs = cogs
- >>> account_category.account_stock_supplier = stock_supplier
- >>> account_category.account_stock_customer = stock_customer
- >>> account_category.account_stock_production = stock_production
- >>> account_category.account_stock_lost_found = stock_lost_found
+ >>> account_category.account_stock_in = stock_in
+ >>> account_category.account_stock_out = stock_out
>>> account_category.save()
Create product::
@@ -176,11 +172,11 @@
>>> shipment.click('done')
>>> shipment.state
'done'
- >>> stock_supplier.reload()
+ >>> stock_in.reload()
>>> stock.reload()
- >>> stock_supplier.debit
+ >>> stock_in.debit
Decimal('0.00')
- >>> stock_supplier.credit
+ >>> stock_in.credit
Decimal('46.00')
>>> stock.reload()
>>> stock.debit
@@ -217,10 +213,10 @@
Decimal('44.00')
>>> expense.credit
Decimal('50.00')
- >>> stock_supplier.reload()
- >>> stock_supplier.debit
+ >>> stock_in.reload()
+ >>> stock_in.debit
Decimal('46.00')
- >>> stock_supplier.credit
+ >>> stock_in.credit
Decimal('46.00')
Sale 5 products::
@@ -255,10 +251,10 @@
>>> shipment.click('done')
>>> shipment.state
'done'
- >>> stock_customer.reload()
- >>> stock_customer.debit
+ >>> stock_out.reload()
+ >>> stock_out.debit
Decimal('28.00')
- >>> stock_customer.credit
+ >>> stock_out.credit
Decimal('0.00')
>>> stock.reload()
>>> stock.debit
@@ -283,10 +279,10 @@
Decimal('0.00')
>>> revenue.credit
Decimal('50.00')
- >>> stock_customer.reload()
- >>> stock_customer.debit
+ >>> stock_out.reload()
+ >>> stock_out.debit
Decimal('28.00')
- >>> stock_customer.credit
+ >>> stock_out.credit
Decimal('28.00')
>>> cogs.reload()
>>> cogs.debit
@@ -331,7 +327,7 @@
>>> line_cogs, = (l for l in move.lines if l.account == cogs)
>>> line_cogs.credit
Decimal('5.00')
- >>> line_stock, = (l for l in move.lines if l.account == stock_customer)
+ >>> line_stock, = (l for l in move.lines if l.account == stock_in)
>>> line_stock.debit
Decimal('5.00')
diff -r 4b06f494f83f -r df7cddd187d8
tests/scenario_account_stock_anglo_saxon_with_drop_shipment.rst
--- a/tests/scenario_account_stock_anglo_saxon_with_drop_shipment.rst Sat Dec
28 17:48:50 2019 +0100
+++ b/tests/scenario_account_stock_anglo_saxon_with_drop_shipment.rst Wed Jan
08 14:36:45 2020 +0100
@@ -97,10 +97,8 @@
>>> revenue = accounts['revenue']
>>> expense = accounts['expense']
>>> stock = accounts['stock']
- >>> stock_customer = accounts['stock_customer']
- >>> stock_lost_found = accounts['stock_lost_found']
- >>> stock_production = accounts['stock_production']
- >>> stock_supplier = accounts['stock_supplier']
+ >>> stock_in = accounts['stock_expense']
+ >>> stock_out, = stock_in.duplicate()
>>> cogs = accounts['cogs']
Create parties::
@@ -120,10 +118,8 @@
>>> account_category.account_revenue = revenue
>>> account_category.account_stock = stock
>>> account_category.account_cogs = cogs
- >>> account_category.account_stock_supplier = stock_supplier
- >>> account_category.account_stock_customer = stock_customer
- >>> account_category.account_stock_production = stock_production
- >>> account_category.account_stock_lost_found = stock_lost_found
+ >>> account_category.account_stock_in = stock_in
+ >>> account_category.account_stock_out = stock_out
>>> account_category.save()
Create product::
@@ -203,15 +199,15 @@
>>> shipment.click('done')
>>> shipment.state
'done'
- >>> stock_supplier.reload()
- >>> stock_supplier.debit
+ >>> stock_in.reload()
+ >>> stock_in.debit
Decimal('0.00')
- >>> stock_supplier.credit
+ >>> stock_in.credit
Decimal('150.00')
- >>> stock_customer.reload()
- >>> stock_customer.debit
+ >>> stock_out.reload()
+ >>> stock_out.debit
Decimal('150.00')
- >>> stock_customer.credit
+ >>> stock_out.credit
Decimal('0.00')
>>> stock.reload()
>>> stock.debit
@@ -239,10 +235,10 @@
Decimal('150.00')
>>> expense.credit
Decimal('150.00')
- >>> stock_supplier.reload()
- >>> stock_supplier.debit
+ >>> stock_in.reload()
+ >>> stock_in.debit
Decimal('150.00')
- >>> stock_supplier.credit
+ >>> stock_in.credit
Decimal('150.00')
Open customer invoice::
@@ -264,10 +260,10 @@
Decimal('0.00')
>>> revenue.credit
Decimal('500.00')
- >>> stock_customer.reload()
- >>> stock_customer.debit
+ >>> stock_out.reload()
+ >>> stock_out.debit
Decimal('150.00')
- >>> stock_customer.credit
+ >>> stock_out.credit
Decimal('150.00')
>>> cogs.reload()
>>> cogs.debit