Files
tryton/modules/account_statement_rule
Cédric Krier 98cbb23f58 Improve setup.py
get_required_version does not need to use .dev0 suffix anymore.
The download URL must be empty for development version.
Source Code must point to Heptapod repository.
Foundation email is used as author email.
2022-12-24 13:45:10 +01:00
..
2022-12-16 20:04:24 +01:00
2022-12-16 20:04:24 +01:00
2022-12-16 20:04:24 +01:00
2022-12-16 20:04:24 +01:00
2022-12-16 20:04:24 +01:00
2022-12-16 20:04:24 +01:00
2022-12-16 20:04:24 +01:00
2022-12-16 20:04:24 +01:00
2022-12-16 20:04:24 +01:00
2022-12-16 20:04:24 +01:00
2022-12-16 20:04:24 +01:00
2022-12-24 13:45:10 +01:00
2022-12-16 23:16:08 +01:00
2022-12-16 20:04:24 +01:00

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.