Add settlement links to payment entries for traceability
- Add settled_entry_links parameter to format_payment_entry and format_net_settlement_entry - Query unsettled expenses/receivables before creating settlement entries - Pass original entry links to format functions so settlements reference what they settle - Update all callers in views_api.py (5 locations) and tasks.py (1 location) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
da74e668c8
commit
e403ec223d
3 changed files with 59 additions and 9 deletions
15
tasks.py
15
tasks.py
|
|
@ -287,6 +287,18 @@ async def on_invoice_paid(payment: Payment) -> None:
|
|||
logger.error("Lightning account 'Assets:Bitcoin:Lightning' not found")
|
||||
return
|
||||
|
||||
# Query for unsettled entries to link this settlement back to them
|
||||
# Net settlement can settle both expenses and receivables
|
||||
settled_links = []
|
||||
try:
|
||||
unsettled_expenses = await fava.get_unsettled_entries_bql(user_id, "expense")
|
||||
settled_links.extend([e["link"] for e in unsettled_expenses if e.get("link")])
|
||||
unsettled_receivables = await fava.get_unsettled_entries_bql(user_id, "receivable")
|
||||
settled_links.extend([e["link"] for e in unsettled_receivables if e.get("link")])
|
||||
except Exception as e:
|
||||
logger.warning(f"Could not query unsettled entries for settlement links: {e}")
|
||||
# Continue without links - settlement will still be recorded
|
||||
|
||||
# Format as net settlement transaction
|
||||
entry = format_net_settlement_entry(
|
||||
user_id=user_id,
|
||||
|
|
@ -301,7 +313,8 @@ async def on_invoice_paid(payment: Payment) -> None:
|
|||
description=f"Lightning payment settlement from user {user_id[:8]}",
|
||||
entry_date=datetime.now().date(),
|
||||
payment_hash=payment.payment_hash,
|
||||
reference=payment.payment_hash
|
||||
reference=payment.payment_hash,
|
||||
settled_entry_links=settled_links if settled_links else None
|
||||
)
|
||||
|
||||
# Submit to Fava
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue