コンテンツにスキップ

ERP転記履歴を確認する

ワークフローがERPに転記する場合(Sage IntacctやNetSuiteの仕訳、Acumatica、Business Central、Xeroのドキュメント、Dynamics 365 Finance & Operations、Oracle Fusion、Workday Financials、SAP S/4HANA Cloudの仕訳、SAPドキュメントなど)、PlaidCloudは各転記の試行をテナントごとの永続的な台帳に記録し、同じドキュメントが二重に転記されないようにします。ERP転記履歴 は、この台帳を読み取り専用で表示するビューです。すべての試行とその最新の状態を、ERP自身のドキュメント番号とタイムスタンプとともに、プロジェクトで絞り込んで確認できます。

転記ステップが書き込む実行ごとの結果テーブルとは補完関係にあります。結果テーブルは1回の実行の結果を示すのに対し、転記履歴はすべての実行とワークフローにまたがる継続的な記録であり、実行が終了した時点で固定せず、各転記をライフサイクル全体にわたって追跡します。

各行は、1つの接続上の1つのERP環境に転記された(または転記を試みた)1件のドキュメントを表します。

フィールド 意味
project_id 転記を行ったプロジェクト。
connection_id 使用したERP接続。
environment_id 転記先の接続環境(たとえば、サンドボックスと本番)。
natural_key 転記ステップが導出した、ドキュメントのビジネスキー。
state 転記の現在のライフサイクル状態(下記を参照)。
confirmation_id ERPが割り当てた、ERP自身のドキュメント番号。シミュレートされた転記には設定されません。
run_id 転記を行ったワークフローの実行。
submitted_at, created_at, updated_at 転記が送信された日時、最初に記録された日時、最後に変更された日時。

シミュレートモードで行われた転記はシミュレートとしてフラグが付けられ、実際の転記と一目で区別できます。下記のシミュレートされた転記を参照してください。

転記は、ERPによる処理の進行に応じて次の状態を遷移します。

状態 意味
preflighted 検証され確保済みですが、まだERPに送信されていません。
submitted ERPに送信済みで、結果はまだ不明です。
pending 非同期処理のために受理され、最終結果を待っています。
posted 転記が確認されました。confirmation_id にERPのドキュメント番号が入ります。
rejected ERPが転記を拒否しました。
in_doubt 結果を確認できませんでした。再試行する前に、人がERPで直接確認する必要があります。
reversed 転記済みのドキュメントが取り消されました。

シミュレートモードで開始した実行は、転記ステップが送信する内容を検証しますが、ERPには一切接続しません。転記されるはずだった内容は、シミュレートとしてフラグが付けられてここに記録されるため、実際の転記と同じ方法で確認できます。natural_key や作成されたリクエストも含まれますが、ERPには届いていないため confirmation_id はありません。

シミュレートされたエントリが、実際の転記の冪等な書き込みを保護するスロットを占有したり、ブロックしたりすることはありません。後で同じドキュメントを本番で実行すると、実際の転記が進行し、シミュレートされたレコードを置き換えます。転記台帳が構成されていないワークスペースでも、シミュレートされた実行は通常どおり検証され、ここには何も記録されません。

プロジェクトのシミュレートされたエントリは、実際のものとは別に消去できます。DELETE /rest/v1/analyze/erp/write/history/simulated?project_id=<project>(connection_id で絞り込むことも可能)、または同じ引数を指定した erp_clear_simulated_postings MCPツールを使用します。いずれの場合も、削除されるのはシミュレートされた行のみで、実際の転記には一切触れません。1回の消去で両方から削除されるため、レスポンスには、消去された履歴の行と、転記レジスター自身のシミュレーションストアの行の両方が報告されます。

読み取りは、アクセス可能な1つのプロジェクトにスコープして行います。そのプロジェクトの読み取りアクセス権が必要です。これは、プロジェクトでの他の作業に必要なアクセス権と同じです。

GET /rest/v1/analyze/erp/write/history?project_id=<project>

任意のクエリパラメーターで結果を絞り込めます。

パラメーター 効果
connection_id この接続で行われた転記のみ。
state この状態の転記のみ(たとえば state=in_doubt)。
limit ページサイズ(デフォルトは100)。
cursor 前のページの next_cursor。

結果は新しい順に返されます。ページが limit に達すると、レスポンスに next_cursor が含まれます。これを cursor として渡すと次のページを読み取れます。next_cursor が null になったら終了です。

同じ引数で erp_post_history ツールを呼び出します。必須は project_id で、任意で connection_id、state、limit、cursor を指定できます。同じ行が同じようにページングされて返されます。

  • プロジェクトで不確定のままのすべての転記: state=in_doubt — ERPで手動確認すべき転記です。
  • 特定の実行が転記した内容: プロジェクトの履歴を読み取り、run_id で照合します。
  • ドキュメントが実際に転記されたかどうか: その行を探し、state と confirmation_id を確認します。