Changeset - 80dace59b385
[Not reviewed]
1 0 1
Ben Sturmfels (bsturmfels) - 2 years ago 2022-02-22 21:18:52
ben@sturm.com.au
reconcile: Rename statement reconciler.
1 file changed with 7 insertions and 0 deletions:
0 comments (0 inline, 0 general)
conservancy_beancount/reconcile/statement_reconciler.py
Show inline comments
 
file renamed from conservancy_beancount/reconcile/prototype_amex_reconciler.py to conservancy_beancount/reconcile/statement_reconciler.py
...
 
@@ -215,12 +215,14 @@ def records_match(r1: Dict, r2: Dict) -> Tuple[bool, str]:
 
    else:
 
        amount_score, amount_message = 0.0, 'amount mismatch'
 

	
 
    # We never consider payee if there's a check_id in the books.
 
    check_message = ''
 
    payee_message = ''
 
    # Sometimes we get unrelated numbers in the statement column with check-ids,
 
    # so we can't match based on the existence of a statement check-id.
 
    if r2['check_id']:
 
        payee_score = 0.0
 
        if r1['check_id'] and r2['check_id'] and r1['check_id'] == r2['check_id']:
 
            check_score = 1.0
 
        else:
 
            check_message = 'check-id mismatch'
...
 
@@ -252,12 +254,17 @@ def match_statement_and_books(statement_trans: list, books_trans: list):
 
    """
 
    matches = []
 
    # We need a realised list and should be a copy so we can safely delete
 
    # items.
 
    books_trans = list(books_trans)
 

	
 
    # We can delete the matched books trans, but seems not a good idea to delete
 
    # while iterating through statement_trans. Instead pushing onto a separate
 
    # list.
 
    remaining_statement_trans = []
 

	
 
    for r1 in statement_trans:
 
        best_match_score = 0
 
        best_match_index = None
 
        best_match_note = ''
 
        matches_found = 0
 
        for i, r2 in enumerate(books_trans):
0 comments (0 inline, 0 general)