Portfolio & Price Trackers

Double Entry GeneratorTurn Bank and Exchange Statements into Double-Entry Books

Import Alipay, WeChat, bank and exchange statements into Beancount or Ledger with rule-based categorization. Free, open source, command-line.

Free Open source Windows: Yes v2.16.0 Updated 3 Oct 2026
9 min read Last update 3 Oct 2026 github.com/deb-sig/double-entry-generator

Double Entry Generator is an open source command-line tool that converts bills and transaction records from payment apps, banks, brokers and crypto exchanges into double-entry bookkeeping files. It is aimed at people who already keep their books in plain text with Beancount or Ledger and want to stop typing transactions by hand.

Instead of forcing you into a spreadsheet, the program reads the export files you download from each service and applies a set of rules to decide which accounts each transaction belongs to. Because the rules are explicit and editable, the output is predictable and easy to audit, which matters when the result feeds into tax or expense reports.

02

What Is Double-Entry Bookkeeping and Why Use It?

Double-entry bookkeeping records every transaction as at least two movements: money leaves one account and enters another. If you buy a coin for 1,000 units of fiat currency, the cash account goes down and the crypto asset account goes up by the same value. The equation always balances, which makes errors easier to spot.

Plain text accounting systems such as Beancount and Ledger store these entries in ordinary text files. The files can be versioned with Git, diffed line by line and parsed by scripts, which is why many developers and careful personal finance users prefer them to closed applications.

03

Who Is Double Entry Generator For?

The tool suits people who already maintain a plain text ledger and find manual entry tedious. A typical user downloads a few months of statements from Alipay, a bank and an exchange, runs the importer and reviews the generated entries before merging them into the main journal.

It is less suitable for users who want a graphical dashboard or real-time price charts. The program does not track live market prices; its job is to turn raw statements into accounting records.

04

How Rule-Based Import Works in Practice

Each import relies on rules that match fields in a transaction, such as the counterparty name, the transaction description or the amount, and assign them to accounts. For example, a rule might send every payment to a particular delivery service to an expenses account for food.

Transactions that match no rule still get imported, but they land in a default account that you should review. A useful habit is to run the import, look at what fell through to the default, and add rules for the recurring merchants. Over time the unmatched list shrinks, and the process needs less manual attention.

05

Tracking Crypto Trades Alongside Fiat Accounts

Exchange trade records describe buys and sells in terms of two assets, such as a coin priced in a stablecoin or a fiat currency. In double-entry form, each trade moves value between an asset account and a cash account, and fees are posted to a separate expense or commission account.

This structure lets you see the cost basis of your holdings in the same ledger that holds your bank balances. It does not replace a dedicated tax calculator, but it gives you the raw, correctly balanced entries that such tools and your own spreadsheets depend on.

Note that the project's documentation mentions ERC-20 tokens in connection with the importer. If you hold tokens on Ethereum, you will need to export their transaction history from a source the importer supports, or record those transfers manually.

06

Key features

Multi-bank support

The importer handles statements from several major Chinese and international banks, including China Construction Bank, Bank of China, ICBC, CITIC Bank and HSBC. Each bank has its own parser, so you point the tool at the statement file and it produces entries in the correct format.

Payment platform imports

Bills from Alipay and WeChat Pay can be converted directly into journal entries. This is useful for tracking everyday spending that never passes through a traditional bank account.

Brokerage trade records

Trade histories from brokerages such as Haitong Securities and Huaxi Securities can be imported, so stock transactions end up in the same ledger as your cash and card activity.

Crypto exchange trades

Spot trades from exchanges such as Huobi are supported. Buys, sells and the associated fees are recorded as postings that you can then reconcile against your holdings.

Lifestyle platform bills

Statements from services such as Meituan and JD.com are supported, which helps capture delivery, shopping and other recurring expenses that are otherwise hard to categorize.

Rule-based categorization

Transactions are classified by rules you define, mapping merchants, counterparties or keywords to specific accounts. Once a rule is written, the same kind of transaction is categorized the same way every time.

Extensible architecture

The project is designed so that new statement formats and output languages can be added without rewriting the core. Contributors can add a parser for a new bank or a new journal syntax as a separate module.
07

Supported coins

The documentation mentions ERC-20 tokens, and the importer is built around exchange spot trades such as those from Huobi. Hardware wallet compatibility is listed for Ledger, though the tool itself works on exported statement files rather than talking to a wallet directly.

08

How to install Double Entry Generator on Windows

  1. 1

    Get the program from the official source

    Download the release or the source code only from the project's official GitHub repository at github.com/deb-sig/double-entry-generator, under the Releases section. Avoid mirrors and third-party download sites.

  2. 2

    Check the file

    If the release includes a SHA-256 checksum or a signature, verify the downloaded file against it before running anything. On Windows, PowerShell's Get-FileHash command computes the SHA-256 value you can compare with the published one.

  3. 3

    Install the tool

    The project is written in Go and is commonly installed with the Go toolchain using go install github.com/deb-sig/double-entry-generator/v2@latest. If you use a prebuilt Windows binary instead, place it in a folder that is on your PATH so you can run it from any terminal.

  4. Verify the installation

    Open a new terminal window and run the program's help command. If the usage text appears, the binary is available. If not, check that your Go bin directory is included in the PATH environment variable.

09

System requirements

  • Windows with a 64-bit processor (the program is a command-line tool, so no graphics hardware is needed)
  • Enough free disk space for the binary and your ledger files
  • A plain text editor for reviewing rule files and generated entries
10

How to use Double Entry Generator

The workflow is simple once your rules are in place. You export statements from each service, run the importer against each file and then review the output before adding it to your main ledger. The steps below follow that order.

  1. Download your transaction history from Alipay, WeChat Pay, your bank, or your exchange in the format the importer expects.
  2. Create a rules file that maps common merchants and counterparties to your chosen accounts.
  3. Run the importer on one statement at a time, specifying the correct source type so the right parser is used.
  4. Open the generated Beancount or Ledger file and check the postings, paying attention to any transactions sent to the default account.
  5. Add rules for the unmatched entries, then re-run the import so the same transactions are categorized consistently.
  6. Run your ledger's own validation command to confirm the file balances before you include it in reports.
  7. Keep the rules file and the raw statements under version control so you can reproduce any past import.
11

Pros & cons

Pros
  • Free and open source under the Apache 2.0 license
  • Supports many Chinese banks, payment apps and exchanges in one tool
  • Rule-based categorization makes imports repeatable and auditable
  • Output targets established plain text accounting formats
  • Extensible design lets contributors add new statement formats
Cons
  • Command-line only, with no graphical interface
  • Requires familiarity with Beancount or Ledger syntax
  • Rule files take time to write well, especially for a large number of merchants
  • Focused on imports, not on live prices or portfolio analytics
  • Listed platform support centers on macOS, so Windows users should check the current build notes before installing
12

Is Double Entry Generator safe?

Download the program only from the official GitHub repository, and check the SHA-256 checksum or signature when one is published. Because the tool reads sensitive financial statements, run it on your own computer, keep the exported files out of shared folders, and delete copies you no longer need. Never enter a seed phrase, private key or exchange password into any third-party website or chat tool in connection with this program, and be cautious of unofficial builds that claim extra features. Antivirus software may occasionally flag unfamiliar command-line binaries; if that happens, verify the checksum first rather than turning protection off.

  • Official source only. Download from github.com/deb-sig/double-entry-generator. Ignore ads and lookalike domains.
  • Check the SHA-256. Compare the installer hash with the value the developer publishes before running it.
  • Never share your seed phrase. No developer, support agent or website — including CryptApps — will ever ask for it.
13

Alternatives

Double Entry Generator sits between raw statement files and a plain text ledger. Hledger, which is also listed in this catalog, is a full accounting tool with its own command-line reports and web interface, so it covers much more of the workflow after the data is in the ledger. Double Entry Generator focuses on the earlier step: getting data out of banks, payment apps and exchanges in the right shape.

Raccoin and Rotki are oriented toward crypto portfolio and tax tracking with their own interfaces and calculations. Binance Excel Report is a simpler export tool limited to one exchange. If your goal is to keep double-entry books in plain text and feed them from many Chinese services, this tool is the more specialized fit; if you want a finished crypto tax dashboard, one of the other options will suit you better.

14

Specifications

Price
Free
Type
Open source
License
Apache 2.0
Latest version
v2.16.0
Last update
3 Oct 2026
Windows support
Yes (Windows build or installer)
Source code
github.com/deb-sig/double-entry-generator
15

Frequently asked questions

Yes. The program is free and released as open source under the Apache 2.0 license, which allows you to use, modify and redistribute it under the terms of that license. There is no paid tier mentioned by the project.

The project offers a Windows build or installer, and it can also be installed from source with the Go toolchain. Because it is a command-line tool, you will run it from a terminal such as PowerShell or Command Prompt after installation.

The importer supports several major Chinese banks, including China Construction Bank, Bank of China, ICBC and CITIC Bank, as well as HSBC. It also handles Alipay, WeChat Pay, selected brokerages, Huobi exchange trades and bills from Meituan and JD.com.

The tool generates entries for plain text accounting systems, namely Beancount and Ledger. You can then use the native validation and reporting commands of those systems to check balances and produce statements.

No, that is not what the program does. It converts transaction records into double-entry entries, so if you need live prices or real-time portfolio value, pair your ledger with a separate price tool or a portfolio tracker.

The program processes files locally, so your statements do not need to be uploaded to a server. Still, download it only from the official repository, verify the checksum, and store your exported files securely, since they contain personal transaction data.

Not necessarily. If a prebuilt Windows binary is available from the official releases, you can run it directly. Knowing Go helps if you prefer to build from source or contribute a new parser to the project.

The project documentation mentions ERC-20 tokens. Check which token transaction sources the importer currently handles, because token transfers often come from blockchain explorers rather than exchange exports.

16

Verdict

Double Entry Generator is a practical choice for people who keep their finances in Beancount or Ledger and want to import statements from Chinese banks, payment apps and exchanges without manual typing. It rewards users who are comfortable with the command line and willing to write clear categorization rules. If you need a graphical dashboard or live market data, look at the alternatives in this catalog instead.

Download now