Initial import from Docker volume

This commit is contained in:
root
2025-12-26 13:11:43 +00:00
commit 4998dc066a
13336 changed files with 1767801 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.pool import Pool
from . import account, party, product, purchase, sale, stock
__all__ = ['register']
def register():
Pool.register(
account.Configuration,
account.AccountRule,
party.Party,
module='account_rule', type_='model')
Pool.register(
account.AccountRuleStock,
module='account_rule', type_='model', depends=['stock'])
Pool.register(
product.Category,
product.Template,
module='account_rule', type_='model', depends=['product'])
Pool.register(
account.InvoiceLine,
module='account_rule', type_='model', depends=['account_invoice'])
Pool.register(
account.InvoiceLineStock,
module='account_rule', type_='model',
depends=['account_invoice_stock'])
Pool.register(
purchase.Line,
module='account_rule', type_='model', depends=['purchase'])
Pool.register(
sale.Line,
module='account_rule', type_='model', depends=['sale'])
Pool.register(
stock.Move,
module='account_rule', type_='model',
depends=['stock'])

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

162
modules/account_rule/account.py Executable file
View File

@@ -0,0 +1,162 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.model import (
MatchMixin, ModelSQL, ModelView, fields, sequence_ordered)
from trytond.pool import Pool, PoolMeta
from trytond.pyson import Eval, Get
from trytond.transaction import Transaction
class Configuration(metaclass=PoolMeta):
__name__ = 'account.configuration'
def get_multivalue(self, name, **pattern):
pool = Pool()
AccountRule = pool.get('account.account.rule')
transaction = Transaction()
context = transaction.context
value = super().get_multivalue(name, **pattern)
account2type = {
'default_account_receivable': 'receivable',
'default_account_payable': 'payable',
'default_category_account_expense': 'expense',
'default_category_account_revenue': 'revenue',
'gift_card_account_expense': 'expense',
'gift_card_account_revenue': 'revenue',
}
if name in account2type:
with transaction.set_context(
account_type=account2type[name],
company=pattern.get('company', context.get('company'))):
value = AccountRule.apply(value)
return value
class AccountRule(sequence_ordered(), MatchMixin, ModelSQL, ModelView):
"Account Rule"
__name__ = 'account.account.rule'
company = fields.Many2One('company.company', "Company", required=True)
start_date = fields.Date("Starting Date")
end_date = fields.Date("Ending Date")
type = fields.Selection([
('receivable', "Receivable"),
('stock', "Stock"),
('payable', "Payable"),
('revenue', "Revenue"),
('expense', "Expense"),
], "Type", required=True)
origin_account = fields.Many2One('account.account', "Original Account")
return_ = fields.Boolean(
"Return",
help="Check to limit to return operation.")
tax = fields.Many2One(
'account.tax', "Tax",
domain=[
('parent', '=', None),
('company', '=', Eval('company', -1)),
],
states={
'invisible': ~Eval('type').in_(['revenue', 'expense']),
})
account = fields.Many2One(
'account.account', "Substitution Account", required=True)
@classmethod
def __setup__(cls):
super().__setup__()
account_domain = cls._account_domain_per_type()
for field in [cls.origin_account, cls.account]:
field.domain = [
('company', '=', Eval('company', -1)),
Get(account_domain, Eval('type'), []),
]
@classmethod
def _account_domain_per_type(cls):
return {
'receivable': [('type.receivable', '=', True)],
'stock': [('type.stock', '=', True)],
'payable': [('type.payable', '=', True)],
'revenue': [('type.revenue', '=', True)],
'expense': [('type.expense', '=', True)],
}
@classmethod
def default_company(cls):
return Transaction().context.get('company')
@classmethod
def default_return_(cls):
return False
@classmethod
def apply(cls, origin_account=None):
pool = Pool()
Date = pool.get('ir.date')
context = Transaction().context
today = Date.today()
pattern = {
'origin_account': origin_account.id if origin_account else None,
'type': context.get('account_type'),
'return_': context.get('return_', False),
}
date = context.get('date') or today
rules = cls.search([
('company', '=', context.get('company', -1)),
['OR',
('start_date', '=', None),
('start_date', '>=', date),
],
['OR',
('end_date', '=', None),
('end_date', '<=', date),
],
])
taxes = context.get('taxes', [])
for rule in rules:
if rule.tax and rule.tax.id not in taxes:
continue
if rule.match(pattern):
return rule.account.current()
return origin_account
class AccountRuleStock(metaclass=PoolMeta):
__name__ = 'account.account.rule'
warehouse = fields.Many2One(
'stock.location', "Warehouse",
domain=[
('type', '=', 'warehouse'),
],
states={
'invisible': Eval('type') != 'stock',
})
class InvoiceLine(metaclass=PoolMeta):
__name__ = 'account.invoice.line'
@fields.depends('taxes', 'quantity')
def on_change_product(self):
transaction = Transaction()
context = transaction.context
with transaction.set_context(return_=(self.quantity or 0) < 0):
super().on_change_product()
taxes = [t.id for t in (self.taxes or [])]
if set(context.get('taxes') or []) != set(taxes):
with transaction.set_context(taxes=taxes):
self.on_change_product()
class InvoiceLineStock(metaclass=PoolMeta):
__name__ = 'account.invoice.line'
@classmethod
def __setup__(cls):
super().__setup__()
cls.product.context['warehouse'] = Eval('warehouse', -1)
cls.product.depends.add('warehouse')

View File

@@ -0,0 +1,80 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tryton>
<data>
<record model="ir.ui.view" id="account_rule_view_list">
<field name="model">account.account.rule</field>
<field name="type">tree</field>
<field name="name">account_rule_list</field>
</record>
<record model="ir.ui.view" id="account_rule_view_form">
<field name="model">account.account.rule</field>
<field name="type">form</field>
<field name="name">account_rule_form</field>
</record>
<record model="ir.action.act_window" id="act_account_rule_form">
<field name="name">Account Rules</field>
<field name="res_model">account.account.rule</field>
<field name="domain" eval="[('company', '=', Eval('company', -1))]" pyson="1"/>
</record>
<record model="ir.action.act_window.view" id="act_account_rule_form_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="account_rule_view_list"/>
<field name="act_window" ref="act_account_rule_form"/>
</record>
<record model="ir.action.act_window.view" id="act_account_rule_form_view2">
<field name="sequence" eval="20"/>
<field name="view" ref="account_rule_view_form"/>
<field name="act_window" ref="act_account_rule_form"/>
</record>
<menuitem
parent="account.menu_general_account_configuration"
action="act_account_rule_form"
sequence="50"
id="menu_account_rule_form"/>
<record model="ir.model.access" id="access_account_rule">
<field name="model">account.account.rule</field>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_delete" eval="False"/>
</record>
<record model="ir.model.access" id="access_account_rule_account_admin">
<field name="model">account.account.rule</field>
<field name="group" ref="account.group_account_admin"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="perm_delete" eval="True"/>
</record>
<record model="ir.rule.group" id="rule_group_account_rule_companies">
<field name="name">User in companies</field>
<field name="model">account.account.rule</field>
<field name="global_p" eval="True"/>
</record>
<record model="ir.rule" id="rule_account_rule_companies">
<field name="domain"
eval="[('company', 'in', Eval('companies', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_account_rule_companies"/>
</record>
</data>
<data depends="stock">
<record model="ir.ui.view" id="account_rule_view_list_stock">
<field name="model">account.account.rule</field>
<field name="inherit" ref="account_rule_view_list"/>
<field name="name">account_rule_list_stock</field>
</record>
<record model="ir.ui.view" id="account_rule_view_form_stock">
<field name="model">account.account.rule</field>
<field name="inherit" ref="account_rule_view_form"/>
<field name="name">account_rule_form_stock</field>
</record>
</data>
</tryton>

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr ""
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.account.rule,end_date:"
msgid "Ending Date"
msgstr ""
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr ""
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr ""
msgctxt "field:account.account.rule,start_date:"
msgid "Starting Date"
msgstr ""
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr ""
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr ""
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
msgctxt "model:account.account.rule,name:"
msgid "Account Rule"
msgstr ""
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr ""

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr "Compte de substitució"
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr "Empresa"
msgctxt "field:account.account.rule,end_date:"
msgid "Ending Date"
msgstr "Data final"
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr "Compte original"
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr "Devolució"
msgctxt "field:account.account.rule,start_date:"
msgid "Starting Date"
msgstr "Data inicial"
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr "Impost"
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr "Tipus"
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr "Magatzem"
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr "Marcar per limitar només a operacions de devolució."
msgctxt "model:account.account.rule,name:"
msgid "Account Rule"
msgstr "Regla de comptabilització"
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr "Regles de comptabilització"
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr "Usuari a les empreses"
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr "Regles de comptabilització"
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr "Despesa"
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr "A pagar"
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr "A cobrar"
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr "Ingressos"
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr "Existències"

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr ""
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.account.rule,end_date:"
msgid "Ending Date"
msgstr ""
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr ""
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr ""
msgctxt "field:account.account.rule,start_date:"
msgid "Starting Date"
msgstr ""
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr ""
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr ""
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
msgctxt "model:account.account.rule,name:"
msgid "Account Rule"
msgstr ""
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr ""

View File

@@ -0,0 +1,80 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr "Anzuwendendes Konto"
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr "Unternehmen"
msgctxt "field:account.account.rule,end_date:"
msgid "Ending Date"
msgstr "Enddatum"
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr "Ursprungskonto"
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr "Rückgabe/-nahme"
msgctxt "field:account.account.rule,start_date:"
msgid "Starting Date"
msgstr "Startdatum"
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr "Steuer"
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr "Typ"
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr "Logistikstandort"
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
"Auswählen, um die Kontenregel auf Rückgabe/-nahme Aktionen zu beschränken."
msgctxt "model:account.account.rule,name:"
msgid "Account Rule"
msgstr "Kontenregel"
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr "Kontenregeln"
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr "Benutzer in Unternehmen"
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr "Kontenregeln"
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr "Aufwand"
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr "Verbindlichkeiten"
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr "Forderungen"
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr "Ertrag"
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr "Lager"

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr "Cuenta de sustitución"
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr "Empresa"
msgctxt "field:account.account.rule,end_date:"
msgid "Ending Date"
msgstr "Fecha final"
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr "Cuenta original"
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr "Devolución"
msgctxt "field:account.account.rule,start_date:"
msgid "Starting Date"
msgstr "Fecha inicial"
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr "Impuesto"
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr "Tipo"
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr "Almacén"
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr "Marcar para limitar la operaciones de devolucion."
msgctxt "model:account.account.rule,name:"
msgid "Account Rule"
msgstr "Regla de cuenta"
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr "Reglas de contabilización"
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr "Usuario en las empresas"
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr "Reglas de contabilización"
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr "Gastos"
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr "A pagar"
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr "A cobrar"
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr "Ingresos"
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr "Existencias"

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr ""
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.account.rule,end_date:"
msgid "Ending Date"
msgstr ""
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr ""
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr ""
msgctxt "field:account.account.rule,start_date:"
msgid "Starting Date"
msgstr ""
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr ""
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr ""
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
msgctxt "model:account.account.rule,name:"
msgid "Account Rule"
msgstr ""
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr ""

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr ""
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.account.rule,end_date:"
msgid "Ending Date"
msgstr ""
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr ""
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr ""
msgctxt "field:account.account.rule,start_date:"
msgid "Starting Date"
msgstr ""
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr ""
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr ""
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
msgctxt "model:account.account.rule,name:"
msgid "Account Rule"
msgstr ""
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr ""

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr ""
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.account.rule,end_date:"
msgid "Ending Date"
msgstr ""
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr ""
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr ""
msgctxt "field:account.account.rule,start_date:"
msgid "Starting Date"
msgstr ""
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr ""
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr ""
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
msgctxt "model:account.account.rule,name:"
msgid "Account Rule"
msgstr ""
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr ""

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr ""
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.account.rule,end_date:"
msgid "Ending Date"
msgstr ""
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr ""
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr ""
msgctxt "field:account.account.rule,start_date:"
msgid "Starting Date"
msgstr ""
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr ""
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr ""
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
msgctxt "model:account.account.rule,name:"
msgid "Account Rule"
msgstr ""
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr ""

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr "Compte de substitution"
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr "Société"
msgctxt "field:account.account.rule,end_date:"
msgid "Ending Date"
msgstr "Date de fin"
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr "Compte d'origine"
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr "Retour"
msgctxt "field:account.account.rule,start_date:"
msgid "Starting Date"
msgstr "Date de début"
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr "Taxe"
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr "Type"
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr "Entrepôt"
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr "Cochez pour limiter aux opérations de retour."
msgctxt "model:account.account.rule,name:"
msgid "Account Rule"
msgstr "Règle de compte"
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr "Règles de compte"
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr "Utilisateur dans les sociétés"
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr "Règles de compte"
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr "Charge"
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr "À payer"
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr "À recevoir"
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr "Produit"
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr "Stock"

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr ""
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.account.rule,end_date:"
msgid "Ending Date"
msgstr ""
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr ""
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr ""
msgctxt "field:account.account.rule,start_date:"
msgid "Starting Date"
msgstr ""
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr ""
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr ""
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
msgctxt "model:account.account.rule,name:"
msgid "Account Rule"
msgstr ""
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr ""

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr ""
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr "Perusahaan"
msgctxt "field:account.account.rule,end_date:"
msgid "Ending Date"
msgstr ""
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr ""
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr ""
msgctxt "field:account.account.rule,start_date:"
msgid "Starting Date"
msgstr ""
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr "Pajak"
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr ""
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr "Gudang"
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
msgctxt "model:account.account.rule,name:"
msgid "Account Rule"
msgstr ""
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr "Biaya"
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr "Utang"
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr "Piutang"
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr "Pendapatan"
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr "Persediaan"

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr "Conto sostitutivo"
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr "Azienda"
msgctxt "field:account.account.rule,end_date:"
msgid "Ending Date"
msgstr "Data Fine"
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr "Conto originale"
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr ""
msgctxt "field:account.account.rule,start_date:"
msgid "Starting Date"
msgstr "Data di inizio"
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr ""
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr ""
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr "Magazzino"
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
msgctxt "model:account.account.rule,name:"
msgid "Account Rule"
msgstr ""
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr ""

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr ""
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.account.rule,end_date:"
msgid "Ending Date"
msgstr ""
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr ""
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr ""
msgctxt "field:account.account.rule,start_date:"
msgid "Starting Date"
msgstr ""
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr ""
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr ""
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
msgctxt "model:account.account.rule,name:"
msgid "Account Rule"
msgstr ""
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr ""

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr ""
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.account.rule,end_date:"
msgid "Ending Date"
msgstr ""
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr ""
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr ""
msgctxt "field:account.account.rule,start_date:"
msgid "Starting Date"
msgstr ""
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr ""
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr ""
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
msgctxt "model:account.account.rule,name:"
msgid "Account Rule"
msgstr ""
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr ""

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr "Vervangende grootboekrekening"
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr "Bedrijf"
msgctxt "field:account.account.rule,end_date:"
msgid "Ending Date"
msgstr "Eind datum"
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr "Oorspronkelijke grootboekrekening"
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr "Retour"
msgctxt "field:account.account.rule,start_date:"
msgid "Starting Date"
msgstr "Start datum"
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr "Belasting"
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr "Soort"
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr "Magazijn"
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr "Vink aan om te beperken tot retour verwerking."
msgctxt "model:account.account.rule,name:"
msgid "Account Rule"
msgstr "Grootboek regel"
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr "Grootboek regels"
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr "Gebruiker in bedrijven"
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr "Grootboek regels"
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr "Kosten"
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr "Te betalen"
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr "Te ontvangen"
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr "Omzet"
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr "Voorraad"

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr ""
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.account.rule,end_date:"
msgid "Ending Date"
msgstr ""
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr ""
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr ""
msgctxt "field:account.account.rule,start_date:"
msgid "Starting Date"
msgstr ""
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr ""
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr ""
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
msgctxt "model:account.account.rule,name:"
msgid "Account Rule"
msgstr ""
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr ""

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr ""
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.account.rule,end_date:"
msgid "Ending Date"
msgstr ""
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr ""
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr ""
msgctxt "field:account.account.rule,start_date:"
msgid "Starting Date"
msgstr ""
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr ""
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr ""
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
msgctxt "model:account.account.rule,name:"
msgid "Account Rule"
msgstr ""
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr ""

View File

@@ -0,0 +1,80 @@
#
#, fuzzy
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr ""
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.account.rule,end_date:"
msgid "Ending Date"
msgstr ""
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr ""
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr ""
msgctxt "field:account.account.rule,start_date:"
msgid "Starting Date"
msgstr ""
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr ""
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr ""
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
msgctxt "model:account.account.rule,name:"
msgid "Account Rule"
msgstr ""
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr "Furnizor"
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr ""

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr ""
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.account.rule,end_date:"
msgid "Ending Date"
msgstr ""
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr ""
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr ""
msgctxt "field:account.account.rule,start_date:"
msgid "Starting Date"
msgstr ""
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr ""
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr ""
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
msgctxt "model:account.account.rule,name:"
msgid "Account Rule"
msgstr ""
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr ""

View File

@@ -0,0 +1,80 @@
#
#, fuzzy
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr "Nadomestni konto"
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr "Družba"
msgctxt "field:account.account.rule,end_date:"
msgid "Ending Date"
msgstr "Končni datum"
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr "Izvorni konto"
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr "Vračilo"
msgctxt "field:account.account.rule,start_date:"
msgid "Starting Date"
msgstr "Začetni datum"
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr "Davek"
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr "Vrsta"
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr "Skladišče"
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr "Izberite, da pravilo konta omejite na izvajanje vračil."
msgctxt "model:account.account.rule,name:"
msgid "Account Rule"
msgstr "Pravilo konta"
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr "Pravila konta"
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr "Uporabniki v družbah"
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr "Pravila konta"
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr "Odhodek"
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr "Dolg"
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr "Terjatev"
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr "Prihodek"
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr "Zaloga"

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr ""
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.account.rule,end_date:"
msgid "Ending Date"
msgstr ""
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr ""
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr ""
msgctxt "field:account.account.rule,start_date:"
msgid "Starting Date"
msgstr ""
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr ""
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr ""
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
msgctxt "model:account.account.rule,name:"
msgid "Account Rule"
msgstr ""
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr ""

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr ""
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.account.rule,end_date:"
msgid "Ending Date"
msgstr ""
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr ""
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr ""
msgctxt "field:account.account.rule,start_date:"
msgid "Starting Date"
msgstr ""
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr ""
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr ""
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
msgctxt "model:account.account.rule,name:"
msgid "Account Rule"
msgstr ""
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr ""

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr ""
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.account.rule,end_date:"
msgid "Ending Date"
msgstr ""
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr ""
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr ""
msgctxt "field:account.account.rule,start_date:"
msgid "Starting Date"
msgstr ""
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr ""
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr ""
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
msgctxt "model:account.account.rule,name:"
msgid "Account Rule"
msgstr ""
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr ""

26
modules/account_rule/party.py Executable file
View File

@@ -0,0 +1,26 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.pool import Pool, PoolMeta
from trytond.transaction import Transaction
class Party(metaclass=PoolMeta):
__name__ = 'party.party'
@property
def account_payable_used(self):
pool = Pool()
AccountRule = pool.get('account.account.rule')
account = super().account_payable_used
with Transaction().set_context(account_type='payable'):
account = AccountRule.apply(account)
return account
@property
def account_receivable_used(self):
pool = Pool()
AccountRule = pool.get('account.account.rule')
account = super().account_receivable_used
with Transaction().set_context(account_type='receivable'):
account = AccountRule.apply(account)
return account

55
modules/account_rule/product.py Executable file
View File

@@ -0,0 +1,55 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.pool import Pool, PoolMeta
from trytond.transaction import Transaction
class _AccountUsed:
__slots__ = ()
@property
def account_expense_used(self):
with Transaction().set_context(account_type='expense'):
return super().account_expense_used
@property
def account_revenue_used(self):
with Transaction().set_context(account_type='revenue'):
return super().account_revenue_used
@property
def account_stock_used(self):
with Transaction().set_context(account_type='stock'):
return super().account_stock_used
@property
def account_stock_in_used(self):
with Transaction().set_context(account_type='stock'):
return super().account_stock_in_used
@property
def account_stock_out_used(self):
with Transaction().set_context(account_type='stock'):
return super().account_stock_out_used
@property
def account_cogs_used(self):
with Transaction().set_context(account_type='stock'):
return super().account_cogs_used
class Category(_AccountUsed, metaclass=PoolMeta):
__name__ = 'product.category'
def get_account(self, name, **pattern):
pool = Pool()
AccountRule = pool.get('account.account.rule')
account = super().get_account(name, **pattern)
if not self.account_parent:
with Transaction().set_context(self._context):
account = AccountRule.apply(account)
return account
class Template(_AccountUsed, metaclass=PoolMeta):
__name__ = 'product.template'

View File

@@ -0,0 +1,14 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.pool import PoolMeta
from trytond.transaction import Transaction
class Line(metaclass=PoolMeta):
__name__ = 'purchase.line'
def get_invoice_line(self):
with Transaction().set_context(
taxes=[t.id for t in self.taxes],
return_=self.type == 'line' and self.quantity < 0):
return super().get_invoice_line()

14
modules/account_rule/sale.py Executable file
View File

@@ -0,0 +1,14 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.pool import PoolMeta
from trytond.transaction import Transaction
class Line(metaclass=PoolMeta):
__name__ = 'sale.line'
def get_invoice_line(self):
with Transaction().set_context(
taxes=[t.id for t in self.taxes],
return_=self.type == 'line' and self.quantity < 0):
return super().get_invoice_line()

40
modules/account_rule/stock.py Executable file
View File

@@ -0,0 +1,40 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.pool import PoolMeta
from trytond.transaction import Transaction
class Move(metaclass=PoolMeta):
__name__ = 'stock.move'
def _get_supplier_invoice_line_consignment(self):
transaction = Transaction()
context = transaction.context
invoice_line = super()._get_supplier_invoice_line_consignment()
taxes = [t.id for t in invoice_line.taxes]
if set(context.get('taxes') or []) != set(taxes):
with transaction.set_context(taxes=taxes):
invoice_line = self._get_supplier_invoice_line_consignment()
return invoice_line
def _get_customer_invoice_line_consignment(self):
transaction = Transaction()
context = transaction.context
invoice_line = super()._get_customer_invoice_line_consignment()
taxes = [t.id for t in invoice_line.taxes]
if set(context.get('taxes') or []) != set(taxes):
with transaction.set_context(taxes=taxes):
invoice_line = self._get_customer_invoice_line_consignment()
return invoice_line
def _get_account_stock_move_lines(self, type_):
warehouse = self.warehouse
with Transaction().set_context(
warehouse=warehouse.id if warehouse else None):
return super()._get_account_stock_move_lines(type_)
def _get_account_stock_move_line(self, amount):
warehouse = self.warehouse
with Transaction().set_context(
warehouse=warehouse.id if warehouse else None):
return super()._get_account_stock_move_line(amount)

View File

@@ -0,0 +1,2 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.

View File

@@ -0,0 +1,108 @@
=====================
Account Rule Scenario
=====================
Imports::
>>> from decimal import Decimal
>>> from proteus import Model
>>> from trytond.modules.account.tests.tools import (
... create_chart, create_tax, get_accounts)
>>> from trytond.modules.company.tests.tools import create_company, get_company
>>> from trytond.tests.tools import activate_modules, assertEqual
Activate modules::
>>> config = activate_modules(['account_rule', 'product', 'sale'])
>>> AccountRule = Model.get('account.account.rule')
>>> Party = Model.get('party.party')
>>> ProductCategory = Model.get('product.category')
>>> ProductTemplate = Model.get('product.template')
>>> ProductUom = Model.get('product.uom')
>>> Sale = Model.get('sale.sale')
>>> Tax = Model.get('account.tax')
Create company::
>>> _ = create_company()
>>> company = get_company()
Create chart of accounts::
>>> _ = create_chart(company)
>>> accounts = get_accounts(company)
>>> account_revenue1 = accounts['revenue']
>>> account_revenue2, = account_revenue1.duplicate()
>>> account_revenue3, = account_revenue1.duplicate()
Create tax::
>>> tax = create_tax(Decimal('.10'))
>>> tax.save()
Setup account rule::
>>> rule1 = AccountRule(type='revenue')
>>> rule1.tax = tax
>>> rule1.account = account_revenue2
>>> rule1.save()
>>> rule2 = AccountRule(type='revenue')
>>> rule2.origin_account = account_revenue1
>>> rule2.return_ = True
>>> rule2.account = account_revenue3
>>> rule2.save()
Create account category::
>>> account_category = ProductCategory(name="Account Category")
>>> account_category.accounting = True
>>> account_category.account_expense = accounts['expense']
>>> account_category.account_revenue = account_revenue1
>>> account_category.save()
Create product::
>>> template = ProductTemplate()
>>> template.name = "Product"
>>> template.default_uom, = ProductUom.find([('name', '=', "Unit")])
>>> template.type = 'service'
>>> template.list_price = Decimal(0)
>>> template.account_category = account_category
>>> template.salable = True
>>> template.save()
>>> product, = template.products
Create customer::
>>> customer = Party(name="Customer")
>>> customer.save()
Test rules with a sale::
>>> sale = Sale()
>>> sale.party = customer
>>> line = sale.lines.new()
>>> line.product = product
>>> line.quantity = 1
>>> line = sale.lines.new()
>>> line.product = product
>>> line.taxes.append(Tax(tax.id))
>>> line.quantity = 2
>>> line = sale.lines.new()
>>> line.product = product
>>> line.quantity = -1
>>> line = sale.lines.new()
>>> line.type = 'comment'
>>> line.description = 'Sample'
>>> sale.click('quote')
>>> sale.click('confirm')
>>> sale.state
'processing'
>>> invoice, = sale.invoices
>>> assertEqual(invoice.lines[0].account, account_revenue1)
>>> assertEqual(invoice.lines[1].account, account_revenue2)
>>> assertEqual(invoice.lines[2].account, account_revenue3)

View File

@@ -0,0 +1,25 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.tests.test_tryton import ModuleTestCase
class AccountRuleTestCase(ModuleTestCase):
'Test Account Rule module'
module = 'account_rule'
extras = [
'account_invoice',
'account_invoice_stock',
'account_stock_continental',
'account_stock_anglo_saxon',
'product',
'purchase',
'purchase_shipment_cost',
'sale',
'sale_gift_card',
'stock',
'stock_consignment',
]
del ModuleTestCase

View File

@@ -0,0 +1,8 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.tests.test_tryton import load_doc_tests
def load_tests(*args, **kwargs):
return load_doc_tests(__name__, __file__, *args, **kwargs)

21
modules/account_rule/tryton.cfg Executable file
View File

@@ -0,0 +1,21 @@
[tryton]
version=7.2.1
depends:
account
company
ir
party
extras_depend:
account_invoice
account_invoice_stock
account_stock_continental
account_stock_anglo_saxon
product
purchase
purchase_shipment_cost
sale
sale_gift_card
stock
stock_consignment
xml:
account.xml

View File

@@ -0,0 +1,28 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<form>
<label name="company"/>
<field name="company"/>
<label name="sequence"/>
<field name="sequence"/>
<label name="start_date"/>
<field name="start_date"/>
<label name="end_date"/>
<field name="end_date"/>
<label name="type"/>
<field name="type"/>
<label name="return_"/>
<field name="return_"/>
<label name="tax"/>
<field name="tax"/>
<newline/>
<label name="origin_account"/>
<field name="origin_account"/>
<label name="account"/>
<field name="account"/>
</form>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<data>
<xpath expr="//field[@name='tax']" position="after">
<label name="warehouse"/>
<field name="warehouse"/>
</xpath>
</data>

View File

@@ -0,0 +1,13 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tree sequence="sequence">
<field name="company" expand="1" optional="1"/>
<field name="type"/>
<field name="return_"/>
<field name="start_date" optional="1"/>
<field name="end_date" optional="1"/>
<field name="origin_account" expand="1" optional="0"/>
<field name="tax" expand="1" optional="1"/>
<field name="account" expand="2" optional="0"/>
</tree>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<data>
<xpath expr="//field[@name='tax']" position="after">
<field name="warehouse" expand="1"/>
</xpath>
</data>