Commit 70402b8
committed
feat: bill auto-detect patterns now mark bills paid on import (#274)
The matcher (BillService::matchTransactionToBill) existed since the
initial commit but had zero callers — the form's promise of auto-linking
never ran. Imports (CSV/OFX/QIF, both pipelines) and bank sync now call
autoMatchPaidFromImport after persisting rows: a debit matching a bill's
pattern (description or vendor), within 10% of the amount, on the bill's
account, and dated within the due window marks the bill paid with the
transaction LINKED (never duplicated). Marking paid advances the due
date, which inherently prevents same-period duplicates and historical
re-imports from double-advancing. Import summary reports the count.
8 new unit tests + live verification; help text and docs updated.1 parent ca6af6e commit 70402b8
14 files changed
Lines changed: 339 additions & 69 deletions
File tree
- budget
- js
- lib/Service
- BankSync
- src/modules/import
- templates
- tests
- Unit/Service
- BankSync
- translationfiles/templates
- docs
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| 28 | + | |
28 | 29 | | |
29 | 30 | | |
30 | 31 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
| 34 | + | |
34 | 35 | | |
35 | 36 | | |
36 | 37 | | |
| |||
198 | 199 | | |
199 | 200 | | |
200 | 201 | | |
| 202 | + | |
201 | 203 | | |
202 | 204 | | |
203 | 205 | | |
| |||
319 | 321 | | |
320 | 322 | | |
321 | 323 | | |
| 324 | + | |
322 | 325 | | |
323 | 326 | | |
324 | 327 | | |
| |||
407 | 410 | | |
408 | 411 | | |
409 | 412 | | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
410 | 423 | | |
411 | 424 | | |
412 | 425 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
847 | 847 | | |
848 | 848 | | |
849 | 849 | | |
| 850 | + | |
| 851 | + | |
| 852 | + | |
| 853 | + | |
| 854 | + | |
| 855 | + | |
| 856 | + | |
| 857 | + | |
| 858 | + | |
| 859 | + | |
| 860 | + | |
| 861 | + | |
| 862 | + | |
| 863 | + | |
| 864 | + | |
| 865 | + | |
| 866 | + | |
| 867 | + | |
| 868 | + | |
| 869 | + | |
| 870 | + | |
| 871 | + | |
| 872 | + | |
| 873 | + | |
| 874 | + | |
| 875 | + | |
| 876 | + | |
| 877 | + | |
| 878 | + | |
| 879 | + | |
| 880 | + | |
| 881 | + | |
| 882 | + | |
| 883 | + | |
| 884 | + | |
| 885 | + | |
| 886 | + | |
| 887 | + | |
| 888 | + | |
| 889 | + | |
| 890 | + | |
| 891 | + | |
| 892 | + | |
| 893 | + | |
| 894 | + | |
| 895 | + | |
| 896 | + | |
| 897 | + | |
| 898 | + | |
| 899 | + | |
| 900 | + | |
| 901 | + | |
| 902 | + | |
| 903 | + | |
| 904 | + | |
| 905 | + | |
| 906 | + | |
| 907 | + | |
| 908 | + | |
| 909 | + | |
| 910 | + | |
| 911 | + | |
| 912 | + | |
| 913 | + | |
| 914 | + | |
| 915 | + | |
| 916 | + | |
| 917 | + | |
| 918 | + | |
| 919 | + | |
| 920 | + | |
| 921 | + | |
| 922 | + | |
| 923 | + | |
| 924 | + | |
| 925 | + | |
| 926 | + | |
| 927 | + | |
| 928 | + | |
| 929 | + | |
| 930 | + | |
| 931 | + | |
| 932 | + | |
| 933 | + | |
| 934 | + | |
| 935 | + | |
| 936 | + | |
| 937 | + | |
| 938 | + | |
| 939 | + | |
| 940 | + | |
| 941 | + | |
| 942 | + | |
| 943 | + | |
| 944 | + | |
| 945 | + | |
| 946 | + | |
| 947 | + | |
| 948 | + | |
| 949 | + | |
| 950 | + | |
| 951 | + | |
| 952 | + | |
| 953 | + | |
| 954 | + | |
| 955 | + | |
| 956 | + | |
850 | 957 | | |
851 | 958 | | |
852 | 959 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
| 57 | + | |
57 | 58 | | |
58 | 59 | | |
59 | 60 | | |
| |||
721 | 722 | | |
722 | 723 | | |
723 | 724 | | |
| 725 | + | |
724 | 726 | | |
725 | 727 | | |
726 | 728 | | |
| |||
785 | 787 | | |
786 | 788 | | |
787 | 789 | | |
| 790 | + | |
788 | 791 | | |
789 | 792 | | |
790 | 793 | | |
| |||
845 | 848 | | |
846 | 849 | | |
847 | 850 | | |
| 851 | + | |
| 852 | + | |
| 853 | + | |
| 854 | + | |
| 855 | + | |
| 856 | + | |
| 857 | + | |
| 858 | + | |
| 859 | + | |
848 | 860 | | |
849 | 861 | | |
850 | 862 | | |
| |||
860 | 872 | | |
861 | 873 | | |
862 | 874 | | |
| 875 | + | |
863 | 876 | | |
864 | 877 | | |
865 | 878 | | |
| |||
904 | 917 | | |
905 | 918 | | |
906 | 919 | | |
| 920 | + | |
907 | 921 | | |
908 | 922 | | |
909 | 923 | | |
| |||
996 | 1010 | | |
997 | 1011 | | |
998 | 1012 | | |
| 1013 | + | |
999 | 1014 | | |
1000 | 1015 | | |
1001 | 1016 | | |
| |||
1079 | 1094 | | |
1080 | 1095 | | |
1081 | 1096 | | |
| 1097 | + | |
| 1098 | + | |
| 1099 | + | |
| 1100 | + | |
| 1101 | + | |
| 1102 | + | |
| 1103 | + | |
| 1104 | + | |
| 1105 | + | |
1082 | 1106 | | |
1083 | 1107 | | |
1084 | 1108 | | |
| |||
1087 | 1111 | | |
1088 | 1112 | | |
1089 | 1113 | | |
| 1114 | + | |
1090 | 1115 | | |
1091 | 1116 | | |
1092 | 1117 | | |
1093 | 1118 | | |
1094 | 1119 | | |
1095 | 1120 | | |
1096 | 1121 | | |
| 1122 | + | |
1097 | 1123 | | |
1098 | 1124 | | |
1099 | 1125 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1463 | 1463 | | |
1464 | 1464 | | |
1465 | 1465 | | |
| 1466 | + | |
| 1467 | + | |
| 1468 | + | |
| 1469 | + | |
| 1470 | + | |
| 1471 | + | |
| 1472 | + | |
| 1473 | + | |
1466 | 1474 | | |
1467 | 1475 | | |
1468 | 1476 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5401 | 5401 | | |
5402 | 5402 | | |
5403 | 5403 | | |
5404 | | - | |
| 5404 | + | |
5405 | 5405 | | |
5406 | 5406 | | |
5407 | 5407 | | |
| |||
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
67 | 67 | | |
68 | 68 | | |
69 | 69 | | |
| 70 | + | |
70 | 71 | | |
71 | 72 | | |
72 | 73 | | |
| |||
0 commit comments