Adds entry date to expense entries

Adds a date field to expense entries for better tracking and reporting.

This allows users to specify the date of the expense transaction,
providing more accurate financial records.
This commit is contained in:
padreug 2025-11-01 09:10:01 +01:00
parent b529a72d9e
commit c7bc0c7904
4 changed files with 14 additions and 1 deletions

View file

@ -94,6 +94,7 @@ class ExpenseEntry(BaseModel):
user_wallet: str
reference: Optional[str] = None
currency: Optional[str] = None # If None, amount is in satoshis. Otherwise, fiat currency code (EUR, USD, etc.)
entry_date: Optional[datetime] = None # Date of the expense transaction
class ReceivableEntry(BaseModel):

View file

@ -28,6 +28,7 @@ window.app = Vue.createApp({
isEquity: false,
reference: '',
currency: 'EUR',
date: new Date().toISOString().split('T')[0], // YYYY-MM-DD format
loading: false
},
payDialog: {
@ -472,7 +473,8 @@ window.app = Vue.createApp({
is_equity: this.expenseDialog.isEquity,
user_wallet: this.g.user.wallets[0].id,
reference: this.expenseDialog.reference || null,
currency: this.expenseDialog.currency || null
currency: this.expenseDialog.currency || null,
entry_date: this.expenseDialog.date ? `${this.expenseDialog.date}T00:00:00` : null
}
)
this.$q.notify({
@ -974,6 +976,7 @@ window.app = Vue.createApp({
this.expenseDialog.isEquity = false
this.expenseDialog.reference = ''
this.expenseDialog.currency = 'EUR'
this.expenseDialog.date = new Date().toISOString().split('T')[0]
},
resetReceivableDialog() {
this.receivableDialog.selectedUser = ''

View file

@ -677,6 +677,14 @@
placeholder="e.g., Groceries for the house"
></q-input>
<q-input
filled
dense
v-model="expenseDialog.date"
type="date"
label="Date *"
></q-input>
<q-select
filled
dense

View file

@ -312,6 +312,7 @@ async def api_create_expense_entry(
entry_data = CreateJournalEntry(
description=data.description + description_suffix,
reference=data.reference,
entry_date=data.entry_date,
flag=JournalEntryFlag.PENDING, # Expenses require admin approval
meta=entry_meta,
lines=[