55 lines
1.8 KiB
ReStructuredText
55 lines
1.8 KiB
ReStructuredText
Account Statement Rule Module
|
|
#############################
|
|
|
|
The account_statement_rule module allows rules to be defined to complete
|
|
statement lines from imported files.
|
|
When the "Apply Rule" button is clicked on a statement, each rule is tested in
|
|
order against each origin that does not have any lines until one is found that
|
|
matches. Then the rule found is used to create the statement lines linked to
|
|
the origin.
|
|
|
|
Rule
|
|
****
|
|
|
|
A rule is composed of two parts: matching criteria and lines.
|
|
|
|
Criteria
|
|
--------
|
|
|
|
The criteria are matched with each origin of the statement:
|
|
|
|
* Company
|
|
* Journal
|
|
* Amount: Check if the amount is between two values
|
|
* Description: `A regular expression
|
|
<https://docs.python.org/library/re.html#regular-expression-syntax>`_ to
|
|
search for a match in the origin description.
|
|
* Information rules:
|
|
|
|
* Key: the statement information key on which the rule applies
|
|
* The matching value depending of the type of the key:
|
|
|
|
* Boolean
|
|
* Numeric: A range of value.
|
|
* Char: A regular expression.
|
|
* Selection
|
|
|
|
The regular expression can register the group names ``party``, ``bank_account``
|
|
and ``invoice`` which are later used to search for a party and an invoice.
|
|
|
|
Lines
|
|
-----
|
|
|
|
They define how to create the statement lines from the matching origin:
|
|
|
|
* Amount: A Python expression evaluated with:
|
|
* ``amount``: the amount of the origin.
|
|
* ``pending``: the amount from which previous lines have been deducted.
|
|
* Party
|
|
* Account
|
|
|
|
If the party is not filled in, one will be searched for using the
|
|
``bank_account`` or the ``party`` group names from the regular expressions.
|
|
If the ``invoice`` group name appears in a regular expression, it will be used
|
|
to find an invoice to link with.
|