HHQ FS
All your wealth · one ledger · liveSign inStart free
← Back to blog
Bookkeeping8 min readSEO 86

HQ Wealth ↔ ZenLedger: The Complete Import & Export Guide

Move data between HQ Wealth and ZenLedger without errors: the exact Custom CSV columns, UTC 24-hour date rule, type taxonomy, and fee conventions.

HQ Wealth ↔ ZenLedger: The Complete Import & Export Guide

ZenLedger is a leading US-focused crypto tax platform, popular for its tax-professional workflows and IRS form output. HQ Wealth is a full double-entry wealth accounting platform with wallet and exchange reconciliation, FIFO/LIFO/HIFO/AVCO cost basis, staking and liquidity tracking, and IFRS-style reports. If you use ZenLedger at tax time but want a real ledger behind your day-to-day books — or you are moving your history off ZenLedger entirely — the transfer comes down to one CSV format. Get the columns and the date rule right and it just works.

This guide covers both directions: how HQ Wealth exports a file ZenLedger accepts, and how HQ Wealth imports what you download out of ZenLedger.

Exporting HQ Wealth → ZenLedger

ZenLedger's file-based entry point is the Custom CSV Upload, its mechanism for any exchange it does not sync automatically. You reach it in ZenLedger under Import tab, then Custom CSV Upload, with a downloadable sample template. HQ Wealth generates a file that matches that template exactly.

The Custom CSV columns

ZenLedger's Custom CSV uses a fixed, ordered ten-column layout with a two-leg (IN / Out) structure — one row can carry an incoming asset and an outgoing asset, so a trade fits on a single line.

| # | Column | Required? | Format | Example | |---|---|---|---|---| | 1 | Timestamp | Yes | UTC, 24-hour: yyyy-mm-dd hh:mm:ss or mm/dd/yyyy hh:mm:ss | 2026-03-28 14:39:40 | | 2 | Type | Yes | From ZenLedger's taxonomy (below) | staking reward | | 3 | IN Amount | Incoming / trades | Number | 4200.00 | | 4 | IN Currency | Incoming / trades | Ticker | USDC | | 5 | Out Amount | Outgoing / trades | Number | 1.5 | | 6 | Out Currency | Outgoing / trades | Ticker | ETH | | 7 | Fee Amount | If a fee applies | Number | 0.002 | | 8 | Fee Currency | If a fee applies | Ticker | ETH | | 9 | Exchange | Optional | Source label | HQ Wealth | | 10 | US Based | Optional | Yes / No | Yes |

The fill pattern mirrors the IN / Out split: a deposit or reward fills only the IN side, a spend or withdrawal fills only the Out side, and a trade fills both. Two rules matter most, and HQ Wealth enforces both automatically:

  • Timestamps must be UTC and 24-hour. ZenLedger accepts two date shapes — yyyy-mm-dd hh:mm:ss or mm/dd/yyyy hh:mm:ss — but both must be in UTC and 24-hour time. HQ Wealth converts every entry to UTC before export.
  • The Type must be a recognised value. ZenLedger reads the Type column against a fixed vocabulary; an unrecognised label is not classified correctly. HQ Wealth only ever writes a supported Type.

Mapping HQ Wealth types to ZenLedger's taxonomy

ZenLedger's Type column accepts a broad taxonomy — buy, sell, trade, receive, send, Initial Coin Offering, margin trade, staking, fork, airdrop, payment, mined, gift sent, fee, staking reward, dividend received, interest received, misc reward, margin gain, margin loss, lost, stolen, nft_mint, donation_501c3, staking lockup, staking return, and nft_trade. HQ Wealth maps onto it like this:

| HQ Wealth type | ZenLedger Type | |---|---| | BUY | buy | | SELL | sell | | CRYPTO_TRADE | trade | | DEPOSIT / WALLET_TRANSFER (in) | receive | | WITHDRAWAL / WALLET_TRANSFER (out) | send | | STAKING | staking lockup | | UNSTAKING | staking return | | STAKING_REWARD / STAKING_REWARD_CLAIM | staking reward | | INCOME (interest) | interest received | | INCOME (dividend) | dividend received | | Mining income | mined | | Airdrop | airdrop | | Chain fork | fork | | GIFT_OUT | gift sent | | SCAM_REAL_ASSET | stolen | | SCAM_FAKE_ASSET | lost | | FEE | fee |

ZenLedger's taxonomy is one of the richer ones in the market — it even distinguishes staking lockup from staking return, which lines up almost perfectly with HQ Wealth's STAKING and UNSTAKING types. That makes ZenLedger one of the cleaner two-way partners for a staking-heavy portfolio.

Importing ZenLedger → HQ Wealth

Coming the other way, HQ Wealth reads what ZenLedger lets you download. ZenLedger users can export their full transaction history; the export follows the same IN / Out, typed shape as the Custom CSV, so it is a clean source for our parser.

HQ Wealth's ZenLedger importer reverses the mapping above: it reads each row's Type and the populated IN / Out legs and posts a proper double-entry journal entry into your ledger, then runs it through your chosen cost-basis method.

| ZenLedger Type / shape | HQ Wealth type (our mapping) | |---|---| | buy | BUY | | sell | SELL | | trade | CRYPTO_TRADE | | receive (IN only) | DEPOSIT | | send (Out only) | WITHDRAWAL | | staking reward | STAKING_REWARD | | staking lockup | STAKING | | staking return | UNSTAKING | | interest received / dividend received / mined | INCOME | | airdrop / fork | INCOME (airdrop / fork subtype) | | gift sent | GIFT_OUT | | stolen / lost | SCAM_REAL_ASSET / SCAM_FAKE_ASSET |

The exact header text of ZenLedger's downloadable export is confirmed at build time against a live export; the mapping logic above holds regardless of minor header differences.

Format quick reference

| Requirement | ZenLedger rule | |---|---| | Template | Custom CSV Upload (downloadable sample) | | Structure | Two-leg — IN Amount/Currency + Out Amount/Currency | | Column order | Fixed ten-column order (Timestamp first, US Based last) | | Date | UTC, 24-hour; yyyy-mm-dd hh:mm:ss or mm/dd/yyyy hh:mm:ss | | Amounts | Numbers; direction encoded by IN vs Out leg | | Fees | Separate Fee Amount + Fee Currency columns | | Types | Fixed taxonomy (~27 values incl. staking lockup/return) |

Common rejection errors

  • Local-time or 12-hour timestamps. ZenLedger expects UTC 24-hour. AM/PM or local time misplaces transactions. HQ Wealth's export is always UTC 24-hour.
  • Reordered columns. The Custom CSV order is fixed; shifting columns breaks parsing.
  • Unknown Type value. A label outside ZenLedger's vocabulary is not classified. HQ Wealth writes only supported values.
  • Blank required leg. A trade missing its IN or Out side, or a deposit with no IN amount, imports incompletely.

FAQ

Is ZenLedger still a leading platform in 2026? Yes. ZenLedger remains an actively maintained, widely used crypto tax platform, especially among US tax professionals.

Does ZenLedger use debits and credits? No — its Custom CSV uses a two-leg IN / Out layout, not accounting-style debit/credit columns. HQ Wealth translates its own double-entry postings into that IN / Out shape on export.

Which date formats does ZenLedger accept? Two: yyyy-mm-dd hh:mm:ss and mm/dd/yyyy hh:mm:ss. Both must be in UTC and 24-hour time.

Can I keep ZenLedger for tax filing and use HQ Wealth for my books? Yes. Export from HQ Wealth into ZenLedger's Custom CSV at tax time, and import ZenLedger's history back into HQ Wealth whenever you want a full double-entry ledger with recomputed cost basis.

---

Want a real ledger behind your crypto tax numbers? Start with HQ Wealth and bring your ZenLedger history with you.

Sources: ZenLedger "How do I create a custom CSV" (support.zenledger.io/en/articles/2615489), Unsupported Exchange Guide for CSVs (zenledger.io/support/unsupported-exchange-guide-for-csvs). Format specifications verified July 2026; re-check against the live sample template before relying on them.

Was this helpful?

Be the first to mark this helpful

Is this article accurate?

Help establish this article's reliability — readers with relevant expertise especially.

86A

Content & SEO score

How this article rates against our editorial and search checklist.

  • Title length within 40–68 characters
  • Meta description within 110–170 characters
  • In-depth — 600+ words
  • Structured with 3+ section headings
  • Primary keyword present in title
  • Closes with a key takeaway
  • Tagged for discovery
Keep reading
Bookkeeping

How to Choose a Crypto Accounting Tool: Nine Criteria That Separate a Ledger From a Calculator

8 min read