マネーフォワード クラウド会計 と マネーフォワード クラウド請求書 のAPIを操作するコマンドラインツールです。
Note: リポジトリ名は
mf-cliですが、インストールされるバイナリ名はmfです。
- OAuth 2.0 + PKCE による認証
- 仕訳帳・勘定科目・取引先・部門・税区分などのCRUD操作(クラウド会計)
- 請求書の作成・更新・削除と取引先 / 部署 / 品目の参照(クラウド請求書)
- 試算表・推移表などの財務レポート取得
- JSON / テーブル形式での出力切替
--dry-runによる安全な事前確認--fieldsによるJSONフィールドフィルタリング- 組み込みOpenAPIスキーマブラウザ(
mf describe) - AIエージェントとの連携に最適化されたJSON出力
go install github.com/beatinaniwa/mf-cli@latestGitHub Releases から各プラットフォーム向けのバイナリをダウンロードできます。
対応プラットフォーム: Linux / macOS / Windows(amd64 / arm64)
git clone https://github.com/beatinaniwa/mf-cli.git
cd mf-cli
make build # ./mf が生成されますマネーフォワード クラウド API でアプリケーションを登録し、クライアントIDを取得してください。
リダイレクトURIの登録が必要です:
http://127.0.0.1:8089/callback
MF_AUTH_PORTを変更する場合は、リダイレクトURIのポート番号も合わせて変更してください。
export MF_CLIENT_ID=your_client_id
export MF_CLIENT_SECRET=your_client_secret # 公開クライアントの場合は省略可# ブラウザで認証(デフォルト)
mf auth login
# 書き込み権限も含める場合(クラウド請求書APIを使う場合は必須)
mf auth login --scopes all
# ブラウザを使わずに認証(SSHセッション等)
mf auth login --no-browser
# 認証状態の確認
mf auth status# 事業所情報を表示
mf office
# 勘定科目一覧をテーブル形式で表示
mf accounts --format table
# 仕訳帳を取得
mf journals list --start-date 2025-01-01 --end-date 2025-03-31
# 仕訳を新規作成(dry-run で事前確認)
mf journals create --json '{"..."}' --dry-run
# 試算表(P/L)を取得
mf reports trial-balance-pl --fiscal-year 2024
# APIスキーマを確認(会計)
mf describe --list # 利用可能なリソース一覧
mf describe journals # journals の詳細
# 請求書APIスキーマを確認
mf describe --api invoice --list
mf describe --api invoice invoices
# 請求書ドラフトを作成(dry-run で事前確認)
mf invoices create --dry-run --json '{"department_id":"...","billing_date":"2026-05-08","title":"請求書","items":[{"name":"作業費","price":10000,"quantity":1,"excise":"ten_percent"}]}'
# 請求書一覧
mf invoices list --per-page 5
# 取引先・部署・品目の参照
mf invoice-partners list
mf invoice-departments list --partner-id <partner_id>
mf invoice-items list| コマンド | 説明 | テーブル | dry-run | --json |
|---|---|---|---|---|
auth login |
OAuth認証 | |||
auth status |
認証状態表示(JSON) | |||
auth logout |
トークン削除 | |||
accounts |
勘定科目一覧 | o | ||
sub-accounts |
補助科目一覧 | o | ||
departments |
部門一覧 | o | ||
taxes |
税区分一覧 | o | ||
connected-accounts |
連携口座一覧 | o | ||
office |
事業所情報 | o | ||
trade-partners list |
取引先一覧 | o | ||
trade-partners create |
取引先作成 | o | o | |
journals list |
仕訳一覧 | o | ||
journals get <ID> |
仕訳詳細 | |||
journals create |
仕訳作成 | o | o | |
journals update <ID> |
仕訳更新 | o | o | |
journals delete <ID> |
仕訳削除 | o | ||
transactions create |
取引作成 | o | o | |
vouchers create |
証憑作成 | o | o | |
vouchers delete |
証憑削除 | o | ||
reports trial-balance-bs |
試算表(B/S) | |||
reports trial-balance-pl |
試算表(P/L) | o | ||
reports transition-bs |
推移表(B/S) | |||
reports transition-pl |
推移表(P/L) | |||
describe [resource] |
APIスキーマ表示(--api accounting|invoice で切替) |
o | ||
invoices list |
請求書一覧 | o | ||
invoices get <ID> |
請求書詳細 | |||
invoices create |
請求書ドラフト作成(POST /invoice_template_billings) |
o | o | |
invoices update <ID> |
請求書更新 | o | o | |
invoices delete <ID> |
請求書削除 | o | ||
invoice-partners list / get |
請求書取引先 | o | ||
invoice-departments list / get |
取引先の部署(--partner-id 必須) |
o | ||
invoice-items list / get |
請求書品目 | o | ||
version |
バージョン表示 |
# JSON出力(デフォルト)
mf accounts
# テーブル出力(対応コマンドのみ)
mf accounts --format table
# 特定フィールドのみ出力(JSONモードのみ有効)
mf accounts --fields id,display_name
# デバッグ出力(HTTPリクエスト/レスポンス詳細)
mf accounts --debug
--fieldsはJSON出力時のみフィルタリングが適用されます。テーブルモードでは無視されます。reports trial-balance-plは--fields指定時、テーブルの代わりにJSON出力にフォールバックします。
書き込みコマンドでは --json フラグでリクエストボディを指定します。
# 直接指定
mf journals create --json '{"description": "test"}'
# 標準入力から読み込み
cat request.json | mf journals create --json -書き込みコマンドでは --dry-run で実行前にリクエスト内容を確認できます。
mf journals create --json '{"..."}' --dry-run| 変数 | 説明 | デフォルト |
|---|---|---|
MF_CLIENT_ID |
OAuthクライアントID | (必須) |
MF_CLIENT_SECRET |
OAuthクライアントシークレット | (公開クライアントでは省略可) |
MF_AUTH_PORT |
ローカルコールバックポート | 8089 |
MF_CONFIG_DIR |
設定ディレクトリのパス | OS依存(下記参照) |
MF_SCOPES |
スペース区切りのスコープリスト | --scopes フラグより優先 |
MF_INVOICE_BASE_URL |
クラウド請求書 API のオリジン(/api/v3 を含めない) |
https://invoice.moneyforward.com |
環境変数は設定ファイルの値を上書きします。
設定ファイルの保存場所は XDG Base Directory に準拠します:
| 条件 | パス |
|---|---|
MF_CONFIG_DIR 設定時 |
$MF_CONFIG_DIR/ |
XDG_CONFIG_HOME 設定時 |
$XDG_CONFIG_HOME/mf-cli/ |
| デフォルト(macOS/Linux) | ~/.config/mf-cli/ |
| デフォルト(Windows) | %AppData%\mf-cli\ |
{
"client_id": "your_client_id",
"client_secret": "your_client_secret",
"base_url": "https://api-accounting.moneyforward.com",
"invoice_base_url": "https://invoice.moneyforward.com",
"auth_port": 8089
}
invoice_base_urlは origin のみを指定してください(末尾の/api/v3は不要)。/api/v3付きで設定された場合や末尾スラッシュは自動でトリムされ、それ以外の不正値は invoice 系コマンド実行時にエラーになります。
認証トークンは同ディレクトリ内の token.json に自動保存されます。
mf-cli はAIエージェント(Claude Code、Codex等)からの利用に適した設計です。
- リソースコマンド(accounts, journals, reports 等)と
auth statusはデフォルトでJSON出力 auth login/logout、versionは平文出力--fieldsでJSON出力から必要なフィールドのみ抽出可能--dry-runで安全にリクエスト内容を事前確認--json -で標準入力からJSONを渡せる- エラーは構造化JSONとしてstderrに出力(cobra/pflagの未定義フラグや型不正のみ平文で stderr に出力されます)
- 請求書APIを使うには
mf auth login --scopes allで再認可が必要です(MF_SCOPESを設定中の場合はunset MF_SCOPESしてから実行してください)
make build # バイナリをビルド
make test # テスト実行(-race付き)
make lint # golangci-lint実行
make coverage # カバレッジレポート
make clean # 成果物を削除詳細は CONTRIBUTING.md を参照してください。