Salesforceと会計・基幹システムをAPIで連携させる進め方
受注や取引先の情報を、Salesforce と社内の会計や基幹のシステムに二重に入力していることがあります。Salesforce には、API を通じてほかのシステムとデータをやり取りする仕組みがいくつか用意されています。このページでは、連携の方式の選び方と、公式の資料が示す進め方をまとめます。
このページは、ご依頼いただける開発の例の解説です。実際の導入事例ではありません。機能の説明は、末尾の Salesforce 公式の資料で確かめた内容です。
この内容で相談するこんなことで困っていませんか
- 外部IDで紐付け外部のレコードIDを項目に保持
- 外部から書き込みREST・Bulk APIで作成・更新
- Salesforceから呼出外部サービスをフローから呼ぶ
- 変更を外部に通知変更イベントやメッセージを送信
- 使用量を見張る上限超過で管理者に通知
本文の説明を図にしたものです。実際の構成は、組織の設定によって変わります。
なぜ起きるのか
二つのシステムがそれぞれ別にデータを持つと、同じ内容を両方に入れる作業が生まれます。Salesforce のヘルプでも、API を使って Salesforce を ERP や会計システムと統合する使い方が示されています。[1]
連携の設計では、どちらのシステムを正のデータ(データマスター)とするかを決めます。Salesforce のアーキテクト向けの資料は、外部システムが正の場合と、Salesforce が正の場合を分けて説明しています。[12]
外部システムのレコードと Salesforce のレコードを結び付ける鍵がないと、更新のたびに相手のレコードを特定できません。Salesforce では、外部システムのレコード ID を外部 ID 項目に持たせ、API での更新や更新/挿入に使えます。[2]
連携の向きとタイミングによって、向く機能が変わります。同じ資料では、Salesforce から外部の処理を呼ぶ、外部から Salesforce のデータを操作する、データをコピーせずに参照する、といった型に分けて整理しています。[12]
直し方の選択肢
方式は、データの流れる向きと件数で選びます。一つの連携で複数を組み合わせることもあります。[1][12]
- 方法 1外部から Salesforce に書き込むREST API や SOAP API で、レコードの作成・参照・更新・削除ができます。2,000 件を超えるデータ操作には、非同期で処理する Bulk API 2.0 が勧められています。[1]
- 方法 2Salesforce から外部を呼ぶ外部サービスに OpenAPI 2.0 または 3.0 のスキーマを登録すると、フローから呼び出せるアクションが作られます。接続先の URL と認証の情報は、指定ログイン情報にまとめます。[5][4]
- 方法 3変更を外部に知らせるアウトバウンドメッセージは、フローなどに関連付けて、指定したエンドポイントへ SOAP メッセージを送ります。変更データキャプチャは、レコードの作成・更新・削除・復元を変更イベントとして公開します。[6][9]
- 方法 4コピーせずに参照するSalesforce Connect は、外部システムのデータを外部オブジェクトに対応付け、必要なときにリアルタイムでアクセスします。2026年10月時点で、Enterprise Edition などでは有料オプションです。[8]
作業の流れ
- 連携の範囲を決める:どのオブジェクトと項目を、どちらの向きに、どの頻度でやり取りするかを書き出し、正のデータをどちらに置くかを決めます。[12]
- 外部 ID 項目を用意する:外部システムのレコード ID を入れるカスタム項目を作り、外部 ID の属性を付けます。必要に応じて [ユニーク] にもします。[2]
- 連携用のユーザーを作る:インテグレーションごとに専用のユーザーを作り、Salesforce インテグレーションユーザーライセンスと「Minimum Access - API Only Integrations」プロファイルを割り当てます。足りない権限は権限セットで加えます。[3]
- 接続と認証を設定する:外部から REST API を呼ぶ連携では、外部クライアントアプリケーションと OAuth 2.0 フローを使います。Salesforce から外部を呼ぶ連携では、外部ログイン情報と指定ログイン情報を作ります。[3][4]
- Sandbox で試す:[設定] の [Sandbox] で [新規 Sandbox] をクリックして作り、本番の前に連携の動きを確かめます。[13]
- 使用量の通知を置く:[API 使用状況通知] で、API 要求数が制限値を超えたときにシステム管理者へ通知が届くようにします。[11]
気をつけること
- API の要求数には 24 時間あたりの上限があり、組織全体の合計で数えます。ユーザーごとの枠ではありません。[10]
- 同じ要求が繰り返し届いても結果が変わらない作り(べき等性)が勧められています。これがないと、重複したレコードや二重の処理が生じるおそれがあります。[12]
- アウトバウンドメッセージは、送り先が受け取れないと最大 24 時間キューに残り、その後削除されます。順番どおりに届かないことや、2 回以上届くこともあります。[7]
- エラーが起きたときの扱いと、立て直しの方法を、全体の設計に含めるよう案内されています。[12]
- API 限定のプロファイルを割り当てたユーザーは、画面から Salesforce を使えません。2026年10月時点で、このライセンスは組織ごとに付与される数が限られています。[3]
想定工数の目安
会計ソフトや基幹システムとつなぐ24〜80時間
想定工数は、要件の確認から動作確認・本番反映の手順までを含む実働時間です。※Salesforce の環境(構築済みの仕組みや設定など、さまざまな要素)や、要件によって工数は大幅に前後するため、あくまでも目安です。
質問と答え
会計や基幹のシステムと、コードを書かずにつなげますか。
外部サービスを使うと、OpenAPI のスキーマを登録して、フローから外部の API を呼び出せます。相手が RESTful なサービスで、API の仕様を OpenAPI 2.0 または 3.0 の形式で用意できる場合に向くとされています。[5]
外部のデータを、Salesforce にコピーせずに見られますか。
Salesforce Connect の外部オブジェクトを使うと、データをコピーせずにリアルタイムで参照できます。2026年10月時点で、Enterprise Edition などではアドオンライセンスが必要です。[8]
大量のデータをまとめてやり取りするときは、どの API を使いますか。
2,000 件を超えるデータ操作には、非同期で処理する Bulk API 2.0 が勧められています。それより少ない件数では、REST API や SOAP API による同期の呼び出しが勧められています。[1]
出典
- どの API を使用するか?(Salesforce ヘルプ)help.salesforce.com/s/articleView?id=platform.integrate_what_is_api.htm&language=ja&type=5(2026-10-23 確認)
- カスタム項目の属性(Salesforce ヘルプ)help.salesforce.com/s/articleView?id=platform.custom_field_attributes.htm&language=ja&type=5(2026-10-23 確認)
- インテグレーションユーザーへの API 限定アクセス権の付与(Salesforce ヘルプ)help.salesforce.com/s/articleView?id=platform.integration_user.htm&language=ja&type=5(2026-10-23 確認)
- 指定ログイン情報(Salesforce ヘルプ)help.salesforce.com/s/articleView?id=sf.named_credentials_about.htm&language=ja&type=5(2026-10-23 確認)
- 外部サービス(Salesforce ヘルプ)help.salesforce.com/s/articleView?id=platform.external_services.htm&language=ja&type=5(2026-10-23 確認)
- アウトバウンドメッセージアクション(Salesforce ヘルプ)help.salesforce.com/s/articleView?id=platform.workflow_managing_outbound_messages.htm&language=ja&type=5(2026-10-23 確認)
- 送信メッセージの考慮事項(Salesforce ヘルプ)help.salesforce.com/s/articleView?id=platform.workflow_om_considerations.htm&language=ja&type=5(2026-10-23 確認)
- Salesforce Connect(Salesforce ヘルプ)help.salesforce.com/s/articleView?id=platform.platform_connect_about.htm&language=ja&type=5(2026-10-23 確認)
- Change Data Capture(Change Data Capture Developer Guide)developer.salesforce.com/docs/atlas.en-us.change_data_capture.meta/change_data_capture/cdc_intro.htm(2026-10-23 確認)
- API Request Limits and Allocations(Salesforce Developers)developer.salesforce.com/docs/atlas.en-us.salesforce_app_limits_cheatsheet.meta/salesforce_app_limits_cheatsheet/salesforce_app_limits_platform_api.htm(2026-10-23 確認)
- API 使用状況通知の管理(Salesforce ヘルプ)help.salesforce.com/s/articleView?id=platform.monitor_rate_limit.htm&language=ja&type=5(2026-10-23 確認)
- Integration Patterns(Salesforce Architects / Salesforce Developers)developer.salesforce.com/docs/atlas.en-us.integration_patterns_and_practices.meta/integration_patterns_and_practices/integ_pat_intro_overview.htm(2026-10-23 確認)
- Sandbox の作成(Salesforce ヘルプ)help.salesforce.com/s/articleView?id=platform.data_sandbox_create.htm&language=ja&type=5(2026-10-23 確認)
- フローが失敗した場合の処理のカスタマイズ(Salesforce ヘルプ)help.salesforce.com/s/articleView?id=platform.flow_build_logic_fault.htm&language=ja&type=5(2026-10-23 確認)