COREC で受けた注文を freee の請求書にする。
やっていることはシンプルだけど、実際にやるとなると「どうやって繋げるの?」という疑問が出てくる。
この記事では、COREC の受注データから freee の請求書が自動生成されるまでの仕組みを、エンジニアでなくても分かるレベルで解説します。「うちでも使えそうか」の判断材料にしてください。
全体の流れ
まず、全体像を見てください。
COREC(受注データ)
↓ ① API で受注データを取得
Saturn(データ整形)
├─ 取引先の名寄せ
├─ 商品明細の変換
├─ 税率の判定
└─ 日付の変換
↓ ② API で請求書を登録
freee(請求書)
やっていることは 3 ステップです。
- COREC から受注データを取ってくる
- freee に登録できる形にデータを整形する
- freee に請求書として登録する
人間がやることは「確認して、送信ボタンを押す」だけ。
では、それぞれのステップで何が起きているのか、順番に見ていきます。
ステップ1: COREC から受注データを取得する
COREC API とは
COREC は API(Application Programming Interface)を公開しています。API とは、ソフトウェア同士がデータをやり取りするための窓口のようなものです。
COREC の管理画面にログインして受注一覧を見るのと同じことを、プログラムから自動で行えます。
認証の仕組み
COREC API は OAuth 2.0 という認証方式を使っています。これは Google や Facebook のログインでおなじみの「アプリに権限を許可する」仕組みです。
初回だけ COREC のアカウントで「Saturn にデータを読み取らせていいですか?」と許可する操作が必要です。一度許可すれば、あとは自動で接続されます。パスワードを Saturn に渡す必要はありません。
取得できるデータ
COREC の API からは、受注に関するデータが一通り取得できます。
- 注文番号(order_number): COREC が自動で振る管理番号
- 注文日(ordered_at): いつ注文が入ったか
- 注文者情報(buyer): 会社名、担当者名、住所、電話番号
- 商品明細(order_products): 商品名、単価、数量、小計、税率
1 件の注文に何行の商品明細があっても、まとめて取得できます。イベント向け卸のように 80 商品以上ある注文でも問題ありません。
マルチアカウント対応
COREC をイベントごと、ブランドごとに別アカウントで運用している場合でも、それぞれの COREC アカウントを Saturn に接続すれば、1 つの画面で全アカウントの受注を一括管理できます。
ステップ2: データを整形する
COREC から取得したデータを、そのまま freee に登録することはできません。
COREC と freee はそれぞれ独立したサービスで、データの形式が違います。この「形式の違い」を吸収するのが、データ整形の工程です。
ここが一番泥臭く、かつ一番重要な部分です。
2-1. 取引先の名寄せ
COREC 上の注文者名と、freee に登録されている取引先名が一致しないことは日常茶飯事です。
例えば:
| COREC(注文者名) | freee(取引先名) |
|---|---|
| (株)山田商店 | 株式会社 山田商店 |
| ヤマダショウテン | 株式会社山田商店 |
| 山田商店 東京営業所 | 株式会社山田商店 |
人間なら「同じ会社だな」と分かりますが、コンピュータにとっては全て別の文字列です。
Saturn では、以下のルールで自動マッチングを行います。
- 正規化: 「株式会社」「(株)」「(株)」を統一。全角半角を揃える。余分なスペースを除去
- freee 取引先検索: freee の API で取引先を検索し、正規化後の名前で照合
- あいまいマッチング: 完全一致しない場合は、類似度の高い候補を提示
- 新規登録: freee に該当する取引先がなければ、COREC の注文者情報をもとに新規作成
一度マッチングが確定した組み合わせは記憶されるので、同じ取引先の 2 回目以降は自動で紐づきます。
2-2. 税率の判定
2019 年 10 月から軽減税率制度が導入され、食品は 8%、それ以外は 10% と税率が分かれました。
COREC の注文データには商品ごとの税率情報が含まれています。これを freee の税区分コードに変換します。
| COREC の税率 | freee の税区分 |
|---|---|
| 8%(軽減税率) | 課税売上 8%(軽減) |
| 10%(標準税率) | 課税売上 10% |
食品卸のように「食品(8%)とパッケージ資材(10%)が混在する注文」が頻繁にある場合、この判定を手作業でやると間違いやすい。特に月末の大量処理時にミスが起きがちです。
自動化すれば、COREC に設定された税率がそのまま引き継がれるので、判定ミスがゼロになります。
2-3. 日付の変換
COREC の受注データには「注文日」と「納品希望日」がありますが、freee の請求書には「請求日」「支払期日」が必要です。
この変換ルールは取引先ごとに異なります。
- A 社: 月末締め、翌月末払い
- B 社: 20 日締め、翌月 20 日払い
- C 社: 都度請求、納品後 30 日以内
Saturn では、取引先ごとの支払い条件をあらかじめ設定しておけば、納品日から請求日・支払期日を自動で計算します。
ステップ3: freee に請求書を登録する
freee API とは
freee も COREC と同様に API を公開しています。認証は同じく OAuth 2.0。Saturn を freee に接続する初回設定で、「請求書の作成」と「取引先の参照・作成」の権限を許可します。
請求書の作成
整形されたデータを使って、freee の API で請求書を作成します。
- 取引先の確認: 名寄せ済みの取引先が freee に存在するか確認。なければ新規作成
- 請求書の作成: 請求日、支払期日、取引先を指定して請求書を作成
- 商品明細の追加: 商品名、数量、単価、税区分を 1 行ずつ登録
80 行の明細でも、API 経由なら数秒で登録が完了します。手入力なら 1 行あたり 30 秒として、80 行で 40 分。この差は大きい。
登録後の確認
API で登録された請求書は、freee の管理画面にそのまま表示されます。普通に freee で作った請求書と同じものです。
内容を確認して、問題なければ freee から PDF を発行して取引先に送るだけ。既存の業務フローを変える必要はありません。
CO-NECT にはあるのに、COREC にはない
ここで一つ補足。
CO-NECT(コネクト)という受発注サービスは、freee 連携を公式に実装しています。CO-NECT の管理画面から freee に直接データを送れる。
一方、COREC にはこの機能がありません。2023 年以降、COREC の大きなアップデートも確認されていない。
ITreview のレビューを見ても、「アップデートが止まっている印象」という声がある。会計ソフト連携に言及したレビューはゼロ。おそらく、ユーザー自身が「COREC からは無理だろう」と諦めている。
でも、COREC は API を公開している。データは取れる。freee も API がある。データは送れる。
間を繋ぐソフトウェアがなかっただけです。
Saturn は、この「間」を埋めるために作りました。
よくある質問
「データが壊れたりしない?」
API 経由のデータ送信は、コピペよりも正確です。人間のコピペではタイプミスや行の抜け漏れが起きますが、プログラムは指示通りに正確にデータを転送します。
ただし、元の COREC データに誤りがあれば、それはそのまま転送されます。Saturn はデータの中身の正誤を判断するわけではなく、転記作業を自動化するツールです。
「セキュリティは大丈夫?」
COREC・freee ともに OAuth 2.0 で接続しています。Saturn にパスワードを渡す必要はありません。許可した権限はいつでも取り消せます。
また、Saturn は受注データと請求書データを中継するだけで、クレジットカード情報や銀行口座情報にはアクセスしません。
「既存の freee の設定は変わる?」
変わりません。Saturn は freee の API を使って請求書を「追加」するだけです。既存の請求書、取引先、勘定科目の設定には一切触れません。
「COREC の無料プランでも使える?」
COREC の API が利用できるプランであれば使えます。ご利用中のプランで API アクセスが可能かどうかは、COREC の管理画面またはサポートで確認してください。
まとめ
COREC → freee の自動化の仕組みを整理します。
- COREC API で受注データ(注文者、商品明細、税率、日付)を取得
- データ整形 で取引先の名寄せ、税区分の変換、日付の計算を自動処理
- freee API で請求書を自動作成(明細行も含めて一括登録)
技術的に特別なことをしているわけではありません。COREC と freee の両方が API を公開しているので、間をプログラムで繋いでいるだけです。
ただ、この「間を繋ぐ」部分にある細かい処理 ── 名寄せ、税率判定、日付変換 ── が手作業だと毎回時間を食う。だから自動化する価値がある。