LedgerDrop

freee bank statement CSV upload: the columns, dates and amounts it accepts

Published 17 October 2026 · Updated 19 October 2026 · by Tekiba

Short answer: freee's statement upload (明細アップロード) takes a CSV with a date that includes the year, the amount as whole numbers — either money out and money in in two columns, or one column with withdrawals negative — and, optionally, the balance and a description. The headings can say anything, because you tell freee what each column is when you upload. The file can be up to 5MB.

Quotations are from three freee help pages, in Japanese, read on 17 October 2026: preparing a statement file, uploading it and when an upload fails. The English beside each is ours.

The columns for a bank account

freee lists five items for a bank account's statement. You do not have to name the columns its way: “データ1行目の見出しの部分は、任意の名称で問題ありません。明細アップロード時に、列ごとに項目を選択します。” (Any text is fine for the headings in the first row; you choose an item for each column when you upload.)

freee's itemWhat goes in it
取引日 (date)A date with its year — see below.
出金額 (money out)半角整数: whole numbers in ordinary (half-width) digits.
入金額 (money in)Whole numbers. One of the two is required: “入出金のいずれかが必須となります。”
残高 (balance)Optional: “空白でも取り込み可能です。” If you include it, “入力した残高は、ホーム画面の口座の実残高に反映されます。” (the balance you give becomes the account's actual balance on the home screen).
取引内容 (description)The text of each line; freee uses it to suggest how to record the transaction.

Money out and money in do not have to be separate: “同じ列に入っていて、出金分はマイナスで表記されている形式でもインポートが可能となっています。” (A file with both in one column, withdrawals written with a minus, can also be imported.) And rows that are zero are dropped: “入金、出金が0円の明細は削除します。”

Dates: any common form, but with the year

freee's examples are “例:2015/04/01、2015-04-01、平成26年4月1日” — year-first with slashes, year-first with hyphens, or the Japanese era form. The year, month and day can also sit in three separate columns.

What it cannot do without is the year. The page on failed uploads gives, as the likely cause, a file not in the form you chose, “年月日のうち年の情報が抜けている等” (for example, the year missing from the date). Statements often print dates without a year; if yours did, the converted file has to get the year from somewhere else. Why your converted bank CSV shows the wrong year covers where it comes from.

Amounts: whole numbers

freee asks for 半角整数 in the amount and balance columns. A statement in yen has no fractions, so a figure such as 1500.00 loses nothing by being written 1500. freee's pages do not say whether it accepts the first form, so write them without a decimal point, as freee describes.

The other mistake is the direction. freee's upload page warns, “特に「出金額・決済額」と「入金額・受取額」を逆に指定しないようご注意ください。” (Take particular care not to assign money out and money in the wrong way round.) Should debits be negative in a bank CSV? explains why files disagree about the sign.

Encoding and size

freee accepts “形式:CSV、OFX、API” and “サイズ:5MBまで”. None of the three pages says which character encoding the CSV must be in, or how many rows one upload may hold. The upload screen shows a preview before anything is taken in; if Japanese descriptions look garbled there, stop and fix the file rather than importing it.

The upload, step by step

  1. Open the account. On the home screen, expand the account in the list on the left and choose [明細のアップロード], then pick your file.
  2. Choose the file type. For a file you made yourself, freee says “不明な場合は、[ご自身で作成したCSV (新規のフォーマット)]を選択してください。” (If you are not sure, choose your own CSV, new format.)
  3. Describe the file. Choose how the date is written (one column, or three), whether the amounts are in one column or two, and whether the oldest row is at the top.
  4. Match the columns. Using the preview, assign each heading to freee's item, then choose [明細を取り込む].
  5. Check the count. freee shows a summary of the result. “期待した行数の取込みが成功しなかった場合、前の項目で選択した列項目を確認します。” (If fewer rows came in than you expected, check the columns you chose.)

After the upload

Compare the rows freee took in with the statement: the same number, the same first and last dates, and a closing balance that matches. Reconcile a bank statement before you import it lists the checks; doing them on the file first saves undoing an upload.

freee filters out exact repeats: “次のすべての項目が一致した場合には重複と判定しfreeeに明細が取り込まれません。” The items are the date, the amount, the description and the balance after the transaction. Rows that differ in any of them — a description worded differently, a balance left out — are not caught. If the account is also connected to the bank, freee warns that after a pause in that connection “同期のシステム再開後は取得する明細が重複する危険性があります。” (once syncing resumes, the statements it fetches may duplicate yours).

Do not count on that check for a file you made yourself, and a CSV converted from a PDF is one. For a file built by hand in a spreadsheet, freee says “明細アップロード済の明細と同期明細に対し、重複チェックがかからない” (uploaded rows and rows from the bank connection are not checked against each other). On an account that also syncs, compare the rows you uploaded with the rows the connection brings in, and ignore or delete the duplicates before recording any of them.

If the statements are for a tax return, bank statements for a Japanese tax return covers how they go into your books and how long to keep them.

Rows you uploaded can be taken out again: “手動でアップロードされた明細は、同期で作成された明細と異なり、削除や編集が可能です。” For a file loaded with the directions reversed, select the rows and, from the bulk actions, “一括操作から[手動追加した明細を削除]を選択し押すことで、明細を削除できます。”

Making the CSV from a PDF statement

If your online banking still offers the period as a CSV download, start there: it comes from the bank's own records. Banks keep that download for a limited time, which differs by bank — how far back you can download bank transactions covers what to do when it has passed and only the PDF is left.

LedgerDrop's free CSV has five columns, Date, Description, Amount, Balance and Check#, with dates as YYYY-MM-DD, money in positive and money out negative, amounts with two decimal places, and UTF-8 text. For freee:

  1. Delete the Check# column. freee lists no item for it.
  2. Write the amounts as whole numbers — only if they are whole. Look down the Amount and Balance columns first. If every figure ends in .00, as a yen statement does, set both columns to no decimal places in a spreadsheet and save as CSV again. If any figure has a fraction other than .00, stop: removing the decimals would round it, and the books would no longer match the statement. After saving, compare a few amounts with the statement. Then open the file in a text editor and check that the dates still show the full year: why Excel changes the dates in your bank CSV shows what can happen to them.
  3. At upload, choose one date column, amounts in one column, and match Date, Amount, Balance and Description to freee's items.

With the freee layout in LedgerDrop Pro

LedgerDrop Pro can write freee's layout directly, so the steps above are not needed. Under “File format”, choose freee会計 — 明細アップロード (bank account). The file then has:

At upload, choose a date column, amounts in two columns, and match the five to freee's items. If your bank's statement needed its columns named under “Columns and date format”, Pro can save that as a mapping, and next month's statement from the same bank is read the same way in one click. A saved mapping holds column headings, positions and roles, never a transaction.

One limit to know first: the layouts LedgerDrop is tested on, listed on the formats page, come from banks in the United States, Canada, Australia and Singapore. No Japanese bank's statement is among them, and Japanese bank statement layouts explains why most of their PDFs do not read today. LedgerDrop checks every row it reads against the balances the statement prints, so a statement it misreads is likely to show up as a failed check. The freee layout is for statements it does read.

Convert a statement → LedgerDrop reads the PDF in your browser, shows every row and checks them against the statement's printed balances, free at any length; the CSV is free for files of up to 3 pages. LedgerDrop Pro ($39 once) writes the CSV for longer statements, and in freee's layout.

What this page cannot tell you

Everything here is from freee's help pages; no file was uploaded to a freee account. The pages do not state the character encoding or a row limit, so neither is given here. freee changes its screens, and the button names may move; if what you see differs from what is quoted above, freee's page is the one to follow.

Questions

Which date formats does freee accept in a statement upload?

freee's examples are 2015/04/01, 2015-04-01 and the era form 平成26年4月1日, and the year, month and day may also be in three columns. The year has to be there: a missing year is one of the causes freee gives for a failed upload.

Can money in and money out be in one column?

Yes. freee says a file with both in the same column, withdrawals written with a minus, can be imported. Choose one amount column when you describe the file at upload.

What character encoding does freee want for the CSV?

Its help pages read on 17 October 2026 do not say. Check the preview on the upload screen: if Japanese descriptions are garbled there, stop and fix the file before taking it in.

I uploaded money in and money out the wrong way round. How do I undo it?

Delete the rows you added and upload again. In the list of statements for the account, select the uploaded rows and choose 手動追加した明細を削除 from the bulk actions. freee says rows you uploaded, unlike rows from a bank connection, can be deleted or edited.