Thanks for the replies and the insights. I appreciate the discussion—thank 
you!

I found Oscar’s suggestion to be better suited to my needs.


On Saturday, March 21, 2026 at 5:27:51 AM UTC+2 Oscar Ale wrote:

> For bill tracking I use a separate 'Liability:Bills' account for each of 
> my bills, this helps me see due dates and makes sure the expenses for each 
> bill land on the month it is due, not on the day the money left my account. 
> For example I may pay my April electricity bill in March, but the expense 
> will show up for April. My process is as follows:
>
>  
>
> *1) Receive statement or bill:* Record bill transaction with due date as 
> the transaction date. Flag as '!' because it is yet unpaid. Tag with 
> '#bill' and a link for that month '^electricity-2026-04'. Increase 
> 'Liability:Bill:Electricity' debt (money owed) and expense the bill to the 
> appropriate expense account 'Expenses:Utilities:Electricity'
>
>  
>
> 2026-04-10 ! "Xcel Energy" "April electricity bill" #bill 
> ^electricity-2026-04
>    Expenses:Utilities:Electricity   100.00 USD
>    Liabilities:Bills:Electricity   -100.00 USD
>
>  
>
> *2) A query* will then show me any outstanding bills I may have with 
> their due date and amount due:
>
>  
>
> 1970-01-01 query "pending-bills" "
>
>    SELECT date, account, sum(position) as amount, flag
>    WHERE account ~ 'Liabilities:Bills' AND flag = '!'
>    GROUP BY account, flag, date ORDER BY date"
>
>  
>
> ---
>
>  
>
>   date                account               amount  f
> ----------  -----------------------------  -------  -
> 2026-04-10  Liabilities:Bills:Electricity  -100.00  !
>
>  
>
> *3) Pay the bill:* Make a payment to the 'bills' account, (paying money 
> owed). Tag with '#payment', link to bill transaction 
> '^electricity-2026-04', and change the original bill transaction flag to 
> '*' to mark as paid.
>
>  
>
> 2026-03-20 * "Xcel Energy" "April electricity payment" #payment 
> ^electricity-2026-04
>    Liabilities:Bills:Electricity   100.00 USD
>
>    Assets:Bank:Checking           -100.00 USD
>
>  
>
> 2026-04-10 * "Xcel Energy" "April electricity bill" #bill 
> ^electricity-2026-04  ; Update original bill flag to '*'
>
>
>    Expenses:Utilities:Electricity   100.00 USD
>    Liabilities:Bills:Electricity   -100.00 USD
>
>  
>
> *4) For credit card payments or loans* where you pay more than what is 
> owed you can add a pad directive to balance everything correctly and yet 
> still keep track of the minimum payment due
>
>  
>
> 2026-04-15 ! "Discover" "Discover April bill" #bill ^discover-2026-04
>    Liabilities:Discover:Credit   50.00 USD ; Minimum payment due
>    Liabilities:Bills:Discover   -50.00 USD
>
>  
>
> 2026-03-20 * "Discover" "Discover April payment" #payment ^discover-2026-04
>    Liabilities:Bills:Discover   100.00 USD ; Actual amount paid
>
>    Assets:Bank:Checking        -100.00 USD
>
>  
>
> 2026-04-15 pad Liabilities:Bills:Discover Liabilities:Discover:Credit  ; 
> Pad on date of bill due, or if you paid late, on date you made the payment
>
>
> 2026-04-16 balance Liabilities:Bills:Discover 0.00 USD  ; Balance on day 
> after the pad directive
>  
>
> "Felipe M." [email protected] – March 19, 2026 11:57 AM
>  
>
> I do it pretty much the same way as Oscar, but with a twist. In Brazil 
> it's common to buy things in installments and I wanted to track the total I 
> still owe (future installments), the current credit card bill and account 
> for the full value of the expense when the transaction took place rather 
> than spreading it out. This is what I came up with (for purchases with 
> installments only).
>
>
>
> This is the transaction the registers the full value of the purchase 
> (disregard the extra metadata, this is for a script I'm working on)
>  
>
> 2025-11-20 * "Pedra de pizza" "Mercadolivre*Brasart" ^pedra-pizza
>
>   installments_summary: TRUE
>
>   installments_link: "pedra-pizza"
>
>   Expenses:Hobbies:Cooking                                               
>                        158.96 BRL
>
>   Liabilities:Felipe:BR:Nubank:Credit:Installments:BRL                   
>                       -158.96 BRL
>
>
> This is one of the installments "moving" liability from the pool of future 
> installments, to the current credit card bill. You can see this is 
> installment ("parcela") 2 of 4. This means I've paid 1 already (NOV), I'm 
> paying one now (DEC) and there are two more to come (JAN and FEB) before 
> I'm done. 
>  
>
> 2025-12-20 * "Mercadolivre*Brasart - Parcela 2/4" "Pedra de pizza" ^
> pedra-pizza
>
>   Liabilities:Felipe:BR:Nubank:Credit:CurrentMonth:BRL                   
>                        -39.74 BRL
>
>     date: 2025-12-20
>
>     ofx_fitid: "6940555d-bd20-4897-9594-1864584829ab"
>
>     ofx_memo: "Mercadolivre*Brasart - Parcela 2/4"
>
>     ofx_type: "STMTTRN"
>
>   Liabilities:Felipe:BR:Nubank:Credit:Installments:BRL                   
>                         39.74 BRL
>
>
>  
>
>
> These are the accounts involved:
> - Expense account charged for the full purchase when the transaction took 
> place: Expenses:Hobbies:Cooking
> - Temporary liability account that is initially charged with the full 
> amount but is deducted from as pay monthly installments: 
> Liabilities:Felipe:BR:Nubank:Credit:Installments:BRL 
> - Liability account for the current credit card bill I'll have to pay at 
> the end of the cycle: Liabilities:Felipe:BR:Nubank:Credit:CurrentMonth:BRL
>
> Also not sure this is the correct way but it works for me and numbers add 
> up.
>
> @Oscar I'm interested in how you've set this up to make sure you don't 
> miss payments. Could you share it?
>
> On Wednesday, March 18, 2026 at 4:16:29 PM UTC-3 Oscar Ale wrote:
>  
>
> I'm going to assume that the two 'problems' you have is that you want to 
> know 'how' to record credit card transactions using beancount, if not, 
> disregard this and use the importers as Martin suggested.
>
> This is how I manage my credit card transactions, statement reconciliation 
> and due dates, may not be the correct way but it works for me. Credit cards 
> are a liability and carry a negative balance.
>
>  
>
> 1) Record opening balance (if you are not importing all of your 
> transaction history)
>
>
> 2026-01-01 * "Discover" "Opening credit card balance"
>    Liabilities:Discover:Credit   -1000.00 USD
>    Equity:Opening                 1000.00 USD
>  
>
> 2) Record/import transactions as they happen, positive for expense 
> accounts, negative (increase debt) for liability account
>
>
> 2026-01-05 * "Supermarket" "Groceries"
>    Expenses:Groceries             50.00 USD
>    Liabilities:Discover:Credit   -50.00 USD ; Increase debt
>
>  
>
> 2026-01-10 * "Amazon" "Supplies and clothes"
>    Expenses:Clothes               40.00 USD
>    Expenses:Supplies              30.00 USD
>    Liabilities:Discover:Credit   -70.00 USD ; Increase debt
>  
>
> 3) When you receive your statement record interest accrued and run a 
> balance to check against your statement balance
>
>
> 2026-01-15 * "Discover" "Interest"
>    Expenses:Interest:Discover     30.00 USD
>    Liabilities:Discover:Credit   -30.00 USD ; Increase debt
>
>  
>
> 2026-01-16 balance Liabilities:Discover:Credit -1150.00 USD
>  
>
> 4) Record your credit card payment, you can add some meta data or a tag to 
> show for which bill it was for, or the due date
>
>
> 2026-01-20 * "Discover" "Credit card payment for 2026-02" #discover-2026-02
>    due: 2026-02-15
>    Liabilities:Discover:Credit   100.00 USD ; Decrease debt
>      Assets:Bank:Checking         -100.00 USD
>  
>
> If you are wanting to track your bills/due dates in a more granular way so 
> that you don't miss a payment or you want to keep track of which payments 
> you've already made, I have a method to do that as well, but this should 
> suffice for basic credit card management and to check your balance.
>
>  
>
> "Yitzhak Dashevsky" [email protected] – March 17, 2026 5:21 PM
>  
>
>  
>
> I use my credit card on a daily basis, and at the end of the month I 
> receive a statement. I have two problems: first, I need to record each 
> transaction to keep track of my expenses; second, I need to record the 
> total outstanding balance along with the payment due date. 
> Do you have any ideas on how to solve these issues?
>
>  
>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Beancount" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To view this discussion visit 
> https://groups.google.com/d/msgid/beancount/8cd708ce-2d4b-469f-be7a-bc73450a5b3cn%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/beancount/8cd708ce-2d4b-469f-be7a-bc73450a5b3cn%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
>
>  
>
>  
>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Beancount" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
>
> To view this discussion visit 
> https://groups.google.com/d/msgid/beancount/3738aa5a-2a2b-4fe5-8484-17d826f0fc31n%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/beancount/3738aa5a-2a2b-4fe5-8484-17d826f0fc31n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
>
>  
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Beancount" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/beancount/b9105803-7b76-41f0-93a2-b7bad4905e3bn%40googlegroups.com.

Reply via email to