Currently, the "Open Reconcile Lines" can become very difficult to use when you have a lot of different parties and/or a lot of account to reconcile. Here is a new process which is based on a wizard that loops over all the couple of account/party that potentially have lines to reconcile. It shows for each couple a proposal of reconciliation that the user can accept or modify (with write-off possibilities). The proposal is found by testing all the combinations of lines up to 10 lines by default (configurable). As such problem is NP-hard, I think we can afford to use the brute force for small number and let the user solves higher number or iterate on running the wizard. Any way, it is possible to implement other strategy by module extention. issue4185 review14511002
104 lines
2.5 KiB
Python
104 lines
2.5 KiB
Python
#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 .fiscalyear import *
|
|
from .account import *
|
|
from .configuration import *
|
|
from .period import *
|
|
from .journal import *
|
|
from .move import *
|
|
from .tax import *
|
|
from .party import *
|
|
|
|
|
|
def register():
|
|
Pool.register(
|
|
FiscalYear,
|
|
BalanceNonDeferralStart,
|
|
CloseFiscalYearStart,
|
|
TypeTemplate,
|
|
Type,
|
|
AccountTemplate,
|
|
Account,
|
|
AccountDeferral,
|
|
OpenChartAccountStart,
|
|
PrintGeneralLedgerStart,
|
|
PrintTrialBalanceStart,
|
|
OpenBalanceSheetStart,
|
|
OpenIncomeStatementStart,
|
|
CreateChartStart,
|
|
CreateChartAccount,
|
|
CreateChartProperties,
|
|
UpdateChartStart,
|
|
UpdateChartSucceed,
|
|
OpenThirdPartyBalanceStart,
|
|
OpenAgedBalanceStart,
|
|
Configuration,
|
|
Period,
|
|
JournalType,
|
|
JournalView,
|
|
JournalViewColumn,
|
|
Journal,
|
|
JournalPeriod,
|
|
Move,
|
|
Reconciliation,
|
|
Line,
|
|
OpenJournalAsk,
|
|
ReconcileLinesWriteOff,
|
|
ReconcileShow,
|
|
FiscalYearLine,
|
|
FiscalYear2,
|
|
PrintGeneralJournalStart,
|
|
TaxGroup,
|
|
TaxCodeTemplate,
|
|
TaxCode,
|
|
OpenChartTaxCodeStart,
|
|
TaxTemplate,
|
|
Tax,
|
|
TaxLine,
|
|
TaxRuleTemplate,
|
|
TaxRule,
|
|
TaxRuleLineTemplate,
|
|
TaxRuleLine,
|
|
AccountTemplateTaxTemplate,
|
|
AccountTemplate2,
|
|
AccountTax,
|
|
Account2,
|
|
Party,
|
|
module='account', type_='model')
|
|
Pool.register(
|
|
OpenType,
|
|
BalanceNonDeferral,
|
|
CloseFiscalYear,
|
|
OpenChartAccount,
|
|
PrintGeneralLedger,
|
|
PrintTrialBalance,
|
|
OpenBalanceSheet,
|
|
OpenIncomeStatement,
|
|
CreateChart,
|
|
UpdateChart,
|
|
OpenThirdPartyBalance,
|
|
OpenAgedBalance,
|
|
ClosePeriod,
|
|
ReOpenPeriod,
|
|
CloseJournalPeriod,
|
|
ReOpenJournalPeriod,
|
|
OpenJournal,
|
|
OpenAccount,
|
|
ReconcileLines,
|
|
UnreconcileLines,
|
|
Reconcile,
|
|
CancelMoves,
|
|
PrintGeneralJournal,
|
|
OpenChartTaxCode,
|
|
OpenTaxCode,
|
|
module='account', type_='wizard')
|
|
Pool.register(
|
|
GeneralLedger,
|
|
TrialBalance,
|
|
ThirdPartyBalance,
|
|
AgedBalance,
|
|
GeneralJournal,
|
|
module='account', type_='report')
|