Commit graph

6 commits

Author SHA1 Message Date
490b361268 Adds fiat settlement entry formatting
Introduces a function to format fiat settlement entries for Beancount, handling cash, bank transfers, and other non-lightning payments.

This allows for recording transactions in fiat currency with sats as metadata.

Updates the API endpoint to use the new function when settling receivables with fiat currencies.
2025-11-10 10:51:55 +01:00
fbda8e2980 Improves readability and reduces logging verbosity
Removes excessive logging to improve readability and reduce verbosity.
Streamlines balance processing and improves logging for settlement amounts.
Adds a note about Fava's internal normalization behavior to the beancount formatting.
2025-11-10 03:59:24 +01:00
ca2ce1dfcc Refactors expense tracking to use fiat amounts
Updates the expense tracking system to store payables and receivables in fiat currency within Beancount.
This ensures accurate debt representation and simplifies balance calculations.
Changes include:
- Converting `format_expense_entry` and `format_receivable_entry` to use fiat amounts.
- Introducing `format_net_settlement_entry` for net settlement payments.
- Modifying `format_payment_entry` to use cost syntax for fiat tracking.
- Adjusting Fava client to correctly process new amount formats and metadata.
- Adding average cost basis posting format

The use of fiat amounts and cost basis aims to provide better accuracy and compatibility with existing Beancount workflows.
2025-11-10 03:33:04 +01:00
1ebe066773 Simplifies entry and posting metadata formatting
Removes redundant metadata from entries and postings.
The cost syntax already contains fiat/exchange rate information.
Metadata such as 'created-via', 'is-equity', and payer/payee
can be inferred from transaction direction, tags, and account names.
2025-11-10 01:06:51 +01:00
e3acc53e20 Adds Fava integration for journal entries
Integrates Fava/Beancount for managing journal entries.

This change introduces functions to format entries into Beancount
format and submit them to a Fava instance.

It replaces the previous direct database entry creation with Fava
submission for expense, receivable, and revenue entries. The existing
create_journal_entry function is also updated to submit generic
journal entries to Fava.
2025-11-10 01:06:51 +01:00
2e862d0ebd Adds Beancount formatting utilities
Introduces utilities to format Castle data models into Beancount
transactions for Fava API compatibility.

Provides functions to format transactions, postings with cost basis,
expense entries, receivable entries, and payment entries.

These functions ensure data is correctly formatted for Fava's
add_entries API, including cost basis, flags, and metadata.
2025-11-10 01:06:45 +01:00