Commit Graph

5 Commits

Author SHA1 Message Date
gsinghpal
6791246def refactor(fusion_accounting_ai): route accounts_receivable tools through FollowupAdapter
Task 13 Step 7 of phase-0 plan.

Routes the AR tools through the FollowupAdapter so they work identically on
fusion-native, Enterprise, and pure Community installs:

  - get_ar_aging → FollowupAdapter.aged_receivables()
  - get_overdue_invoices → FollowupAdapter.overdue_invoices()
  - send_followup → FollowupAdapter.send_followup()
  - get_followup_report → FollowupAdapter.followup_report_html()

FollowupAdapter extended:

  - overdue_invoices() now includes partner_email, partner_phone and
    amount_total so the tool wrapper can render its richer response.
  - aged_receivables() and aged_payables() new shared-implementation method
    _aged_buckets() produces the 5-bucket aging shape the AR/AP tools emit.
  - followup_report_html() and send_followup() isolate the Enterprise
    account.followup.report / partner.execute_followup calls; Community mode
    returns a graceful error dict.

Pure-Community tools in accounts_receivable.py (get_partner_balance,
reconcile_payment_to_invoice, get_unmatched_payments) unchanged — they touch
account.move / account.move.line directly which is tri-mode safe.

3 new data-adapter tests added (total: 9; all passing on westin-v19).

Made-with: Cursor
2026-04-18 23:30:20 -04:00
gsinghpal
f8b97211ab feat(fusion_accounting_ai): add Followup and Assets data adapters
Made-with: Cursor
2026-04-18 23:21:14 -04:00
gsinghpal
086b24ab36 feat(fusion_accounting_ai): add ReportsAdapter with trial_balance
Made-with: Cursor
2026-04-18 23:14:41 -04:00
gsinghpal
d331dc5fa6 feat(fusion_accounting_ai): add BankRecAdapter for tri-mode bank-rec lookups
Made-with: Cursor
2026-04-18 23:08:53 -04:00
gsinghpal
7025f62107 feat(fusion_accounting_ai): add DataAdapter base + registry
Made-with: Cursor
2026-04-18 22:59:47 -04:00