Adds fusion.reconcile.engine — the AbstractModel orchestrator for all bank-line reconciliations. Six public methods (reconcile_one, reconcile_batch, suggest_matches, accept_suggestion, write_off, unreconcile) form the only sanctioned write path to account.partial.reconcile from the rest of the module (controllers, AI tools, wizards). Implementation follows V19's bank_rec_widget pattern: rewrite the bank move's suspense line into one counterpart per matched invoice (or a write-off line) on the appropriate receivable / payable / write-off account, then call account.move.line.reconcile() on each pair. Records a precedent row per reconcile for downstream pattern learning. 16 new unit tests cover all six methods across happy paths, the precedent side effect, suggestion lifecycle, batch auto-strategy, and write-off line clearance. 67 total tests, 0 failed. Made-with: Cursor
8 lines
277 B
Python
8 lines
277 B
Python
from . import fusion_reconcile_pattern
|
|
from . import fusion_reconcile_precedent
|
|
from . import fusion_reconcile_suggestion
|
|
from . import fusion_bank_rec_widget
|
|
from . import account_bank_statement_line
|
|
from . import account_reconcile_model
|
|
from . import fusion_reconcile_engine
|