Files
odoo-ai/research/finance_research.md
ActiveBlue Build dab6354d09 feat(finance): add FinanceAgent with full 6-step contract and FinanceTools
- FinanceAgent implements _plan/_gather/_reason/_act/_report lifecycle
- Proactive sweep flags 30+ day overdue invoices, auto-sends reminders >60d/>$1k
- PeerBus handler exposes overdue_summary, payment_history, financial_summary
- HIPAA-locked: Ollama only, no cloud LLM routing
- FinanceTools wraps OdooClient with 9 read/write methods on account.move
- finance_system.txt prompt enforces no-write-to-invoices rule
- research/finance_research.md documents Odoo 18 account model details

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 17:51:49 -04:00

38 lines
1.5 KiB
Markdown

# Finance Agent Research
## Odoo 18 Finance Domain — Key Models
### account.move (Invoices & Bills)
- `move_type`: `out_invoice` (customer invoice), `in_invoice` (vendor bill), `out_refund`, `in_refund`
- `state`: `draft`, `posted`, `cancel`
- `payment_state`: `not_paid`, `in_payment`, `paid`, `partial`, `reversed`
- `invoice_date_due`: payment due date
- `amount_residual`: outstanding balance
- `partner_id`: customer/vendor
### account.payment
- Payments linked to invoices via `account.move` reconciliation
- `payment_type`: `inbound` (receipts), `outbound` (payments)
- `state`: `draft`, `posted`, `cancel`
### account.bank.statement.line
- Bank statement lines for reconciliation
- `is_reconciled`: bool — whether matched to a payment/invoice
### Key Search Domains
- Overdue: `[('move_type','=','out_invoice'),('state','=','posted'),('payment_state','!=','paid'),('invoice_date_due','<', today)]`
- Unreconciled bank lines: `[('is_reconciled','=',False),('journal_id','=',journal_id)]`
## HIPAA Constraints
- Finance agent is HIPAA-locked — Ollama only, never cloud LLM
- Do not expose partner financial data to non-finance agents via PeerBus
- Aggregate/anonymise data in cross-agent responses
## Automation Thresholds (from spec)
- Auto-send reminder: overdue > 30 days AND amount_residual > 1,000
- Flag for review: overdue > 90 days (regardless of amount)
- Escalate to human: collection_rate < 70% OR overdue_total > 50,000
## Tool Limits
MAX_TOOLS_PER_AGENT = 8 (finance agent is at limit)