搜索

PythonReactSEOPDF
GitHub Skill

monthly-migration

Perform monthly journal migration using hledger close --migrate to close the previous month and open the new month with proper balance assertions and account initialization.

polyipseity☆ 0 仓库 Stars0 仓库 Forks

安装与使用

请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。

查看来源 ↗使用指南

技能说明

Monthly Migration Skill

Guide for migrating journals at the start of each month.

When to Use

  • Start of each month (typically 1st-3rd) before adding new transactions
  • Previous month is complete and validated
  • Setting up opening/closing balances

Prerequisites

  • All transactions for previous month finalized
  • Both self.journal and self.alternatives.journal need migration
  • Ran python -m check successfully

Process

1. Run Migration Commands

Close both journal types:

# Example: Close December 2025, prepare for January 2026
hledger close -f ledger/2025/2025-12/self.journal --migrate
hledger close -f ledger/2025/2025-12/self.alternatives.journal --migrate

Run separately—one per journal file.

2. Understand Output

hledger close --migrate generates two transactions:

  1. Closing balances: Zeroes all accounts at month-end

    2025-12-31 closing balances  ; time: 23:59:59
        assets:banks:<uuid>:HKD     -5000.00 HKD = 0.00 HKD
        ...
        equity:opening/closing balances
    
  2. Opening balances: Re-establishes for new month

    2026-01-01 opening balances  ; time: 00:00:00
        assets:banks:<uuid>:HKD      5000.00 HKD = 5000.00 HKD
        ...
        equity:opening/closing balances
    
3. Add Closing to Old Month

Copy closing balances to end of previous month journal.

4. Create New Monthly Journal

If new month directory doesn't exist:

mkdir ledger/2026/2026-01
New-Item ledger/2026/2026-01/self.journal

Include prelude:

include ../../../preludes/self.journal
5. Add Opening to New Month

Copy opening balances to start of new month (after prelude).

6. Adjust Times if Needed

Verify dates/times are correct:

  • Closing: last day of month at 23:59:59
  • Opening: first day of month at 00:00:00
7. Validate
python -m check
python -m format
8. Commit
git commit -S -m "chore(migration): migrate journals to 2026-01"

Do's and Don'ts

Do:

  • Run for both self.journal and self.alternatives.journal
  • Create new directory/file if needed
  • Include prelude in new journal
  • Verify closing balances show = 0.00 CURRENCY
  • Run check and format after

Don't:

  • Edit hledger close output extensively
  • Forget prelude include
  • Skip validation before commit
  • Perform migration multiple times for same month

Reference Recent Examples

cat ledger/2025/2025-12/self.journal | tail -50  # View closing
cat ledger/2026/2026-01/self.journal | head -50  # View opening

Related Documentation

使用示例

查看来源仓库中的使用示例与配置说明。

查看来源 ↗

来源历史

收录时间
2026-01-20
索引更新时间
2026-01-26
Branch
main

收录与同步日期属于本站记录。源码修改历史请查看来源仓库。

GitHub ↗

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!