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
9 lines
302 B
Python
9 lines
302 B
Python
from . import test_memo_tokenizer
|
|
from . import test_exchange_diff
|
|
from . import test_matching_strategies
|
|
from . import test_ai_suggestion_lifecycle
|
|
from . import test_precedent_lookup
|
|
from . import test_pattern_extraction
|
|
from . import test_confidence_scoring
|
|
from . import test_reconcile_engine_unit
|