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回の実行の結果を示すのに対し、転記履歴はすべての実行とワークフローにまたがる継続的な記録であり、実行が終了した時点で固定せず、各転記をライフサイクル全体にわたって追跡します。
各転記に表示される内容
Section titled “各転記に表示される内容”各行は、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 |
転記が送信された日時、最初に記録された日時、最後に変更された日時。 |
シミュレートモードで行われた転記はシミュレートとしてフラグが付けられ、実際の転記と一目で区別できます。下記のシミュレートされた転記を参照してください。
ライフサイクル状態
Section titled “ライフサイクル状態”転記は、ERPによる処理の進行に応じて次の状態を遷移します。
| 状態 | 意味 |
|---|---|
preflighted |
検証され確保済みですが、まだERPに送信されていません。 |
submitted |
ERPに送信済みで、結果はまだ不明です。 |
pending |
非同期処理のために受理され、最終結果を待っています。 |
posted |
転記が確認されました。confirmation_id にERPのドキュメント番号が入ります。 |
rejected |
ERPが転記を拒否しました。 |
in_doubt |
結果を確認できませんでした。再試行する前に、人がERPで直接確認する必要があります。 |
reversed |
転記済みのドキュメントが取り消されました。 |
シミュレートされた転記
Section titled “シミュレートされた転記”シミュレートモードで開始した実行は、転記ステップが送信する内容を検証しますが、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回の消去で両方から削除されるため、レスポンスには、消去された履歴の行と、転記レジスター自身のシミュレーションストアの行の両方が報告されます。
履歴を読み取る
Section titled “履歴を読み取る”読み取りは、アクセス可能な1つのプロジェクトにスコープして行います。そのプロジェクトの読み取りアクセス権が必要です。これは、プロジェクトでの他の作業に必要なアクセス権と同じです。
RESTを使用する
Section titled “RESTを使用する”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 になったら終了です。
MCPを使用する
Section titled “MCPを使用する”同じ引数で erp_post_history ツールを呼び出します。必須は project_id で、任意で connection_id、state、limit、cursor を指定できます。同じ行が同じようにページングされて返されます。
よく使う確認
Section titled “よく使う確認”- プロジェクトで不確定のままのすべての転記:
state=in_doubt— ERPで手動確認すべき転記です。 - 特定の実行が転記した内容: プロジェクトの履歴を読み取り、
run_idで照合します。 - ドキュメントが実際に転記されたかどうか: その行を探し、
stateとconfirmation_idを確認します。