DocuWare E-Invoicing Service 用のワークフローを設定する方法

Prev Next

DocuWare E‑Invoicing Service は、企業などの法人を国ごとの電子請求ネットワークおよび税務当局と接続し、法令に準拠した電子請求書を送受信できるようにします。

DocuWare Workflow Designer は、DocuWare 内で電子請求書がどのように処理されるかを自動化し、制御します。E-Invoicing Service と組み合わせることで、ワークフローは次のシナリオに対応します。

  • 設定済みのネットワークを介して受信者に電子請求書を送信する

  • 電子請求書について技術ルールおよびビジネスルールを検証する

  • 受信した電子請求書を処理する

  • 電子請求書のデータまたはファイルから税務レポートを提出する(電子申告の直接提出はサポートされていません)

  • Peppol Registry および Annuaire で会社の住所をディレクトリ検索する

これらの機能は DocuWare Configurations > Collaboration > Workflow Designer で設定して使用します。Workflow Designer の概要については、Workflow Designer ヘルプを参照してください。

前提条件

  • E-Invoicing Service 用のワークフローを設定する前に、該当する法人に対して E-Invoicing Service が構成済みであること、およびワークフローユーザーが E-Invoicing Service 構成に対する Use 権限を持っていることを確認してください。DocuWare E-Invoicing Service の設定方法を参照してください。

  • ConfigurationName: E-Invoicing Service のセットアップ時に、各構成に一意の名前を割り当てます。この名前はワークフロー変数 ConfigurationName として利用でき、Web Service アクティビティで正しい E-Invoicing Service 構成を参照するために使用されます。この値は DocuWare Configurations > Integrations > E-Invoicing で定義した構成名と正確に一致している必要があります。

  • Index Fields: 電子請求書の処理に使用するファイルキャビネットに、次のインデックスフィールドを設定することを推奨します。

  • TaxReportID

  • Network_ID

  • Invoice_Status

  • Validation_Status

Workflow Designer における E-Invoicing Service の機能

E-Invoicing Service の機能は、Web Service アクティビティを使用して DocuWare ワークフロー内から呼び出されます。E-Invoicing Service は Workflow Designer に DocuWare E-Invoicing としてあらかじめ登録されているため、手動での URL 設定は不要です。

機能を使用するには、Web Service アクティビティを追加し、Defined web service で DocuWare E-Invoicing を選択して、目的のエンドポイントを選びます。以下の各エンドポイントの説明に従って、Request、HTTP Headers、HTTP Request Body の各タブを設定します。必要に応じて、Data assignment を使用してレスポンス値をドキュメントのインデックスフィールドにマッピングし、Status codes を使用して HTTP レスポンスコードの処理方法を定義します。

Web Service アクティビティは、一度に 1 つのドキュメントを処理します。各ワークフローの実行では、1 件の電子請求書と、そのドキュメントに関連するすべての処理を扱います。

注記: 処理と同期のロジック

DocuWare E-Invoicing Service は、電子請求書を非同期で処理します。電子請求書をネットワークに送信すると、サービスはただちに Task ID を返しますが、実際の配信はバックグラウンドで行われます。ワークフローは結果を即座に確認することはできません。代わりに、専用のステータスエンドポイントを使用して現在のステータスを待機し、ポーリングする必要があります。

この非同期の動作はエラーメッセージにも当てはまります。エラーメッセージは、ネットワークがリクエストを処理した後にのみ取得できる場合があります。

次のエンドポイントは、Web サービス DocuWare E-Invoicing in the Workflow Designer で利用できます。これらを使用して、DocuWare ワークフローから直接、電子請求の処理を自動化できます。

エンドポイント

説明

Post /v1/invoices/

設定済みのネットワークに電子請求書を送信します

Get /v1/tasks/{id}/status/

送信済み電子請求書の現在の処理ステータスを取得します

Put /v1/invoices/status/

受信した電子請求書のステータスを更新します

Post /v1/invoices/validation/report/

技術ルールおよびビジネスルールの検証を実行し、検証レポートを生成します

Post /v1/tax-reports/create

ファイルキャビネットに保存された電子請求書ファイルまたはデータから作成した税務レポートを提出します

Get /v1/directory

国コードと納税者番号(TIN)に基づいて、Peppol Registry または Annuaire で会社の住所を検索します

Workflow Designer の E-Invoicing 用エンドポイント

次のエンドポイントは、Web サービス DocuWare E-Invoicing で利用できます。

1. 電子請求書の送信

エンドポイント: Post /v1/invoices/

DocuWare に保存された電子請求書を、受信者への配信のために設定済みのネットワークに送信します。

HTTP Request Body パラメーター:

パラメーター

タイプ

説明

documentId

システム変数 → Document ID

DocuWare ドキュメントの参照

fileCabinetId

システム変数 → File Cabinet GUID

ドキュメントを含むファイルキャビネット

configuration

固定テキスト → ConfigurationName

E-Invoicing Service 構成の名前

statusField

インデックスフィールド → 例: Status

請求書ステータスが書き込まれるインデックスフィールド

validateInvoice

ブール値 → true

ネットワークへ送信する前に、送信前チェックを実行します。常に true に設定してください。

networkIdField

インデックスフィールド → 例: Network ID

任意。ネットワーク参照 ID が保存されるインデックスフィールド。

transportTypeCode

固定テキスト → 例: peppol

任意。E-Invoicing Service 構成で設定されたデフォルトのトランスポートタイプを上書きします。オプション: peppol、fr.chorus。

JSON HTTP Request Body:

{ "documentId": "Index field DocumentID", "fileCabinetId": "System variables File Cabinet GUID", "configuration": "ConfigurationName", "statusField": "Index field Invoice_Status", "validateInvoice": true, "networkIdField": "(Optional) Index field Network ID", "transportTypeCode": "(Optional) Index field TransportTypeCode" }

JSON HTTP Response Body (200):

{ "taskId": "{id}" }

configuration の値は、DocuWare Configurations > Integrations > E-Invoicing で定義した構成名と正確に一致している必要があります。DocuWare E-Invoicing Service の設定方法を参照してください。を参照してください。

2. ステータスの取得

エンドポイント: Get /v1/tasks/{id}/status

送信済み電子請求書の現在の処理ステータスを、ネットワークから取得します。ルート内の {id} は、このワークフローで実行した前の HTTP Request のレスポンスで返された Task ID です。この値をグローバルワークフロー変数に保存して、このエンドポイントに渡します。

HTTP Headers: Accept: application/json (構成済み)

HTTP Request Body: なし

ルート構成:

ルートセグメント

値

説明

/v1

固定値

API バージョン

/tasks

固定値

エンドポイントパス

/{id}

グローバル変数 → Task ID

Post /v1/invoices/ から返された Task ID

/status

固定値

エンドポイントパス

JSON HTTP Response Body (200):

{ "taskId": "{id}" }

3. 請求書ステータスの更新

エンドポイント: Put /v1/invoices/status/

DocuWare に保存された、受信した電子請求書のステータスを更新します。支払い確認や承認などのビジネスイベントに基づいて請求書ステータスを設定するには、このエンドポイントを使用します。

このエンドポイントは、受信した請求書にのみ適用されます。つまり、サプライヤーが発行し、受信して対応が必要な請求書です。このエンドポイントで有効なのは、以下に記載するステータス値のみです。

発行済み(送信)請求書の請求書ステータスは、ネットワークを介して自動的に更新されます。送信済み請求書のステータスをワークフロー内から更新する必要はありません。発行済み請求書のステータス値は、DocuWare ワークフローでプロセスを制御するために使用できますが、ネットワーク内で請求書ステータスを更新するために使用しないでください。

詳細および電子請求書ステータスのリファレンスについては、DocuWare E-Invoicing Service のステータスについて で利用可能です。

HTTP Headers: Accept: application/json + Content-Type: application/json (構成済み)

HTTP Request Body パラメーター:

パラメーター

タイプ

説明

documentId

システム変数 → Document ID

DocuWare ドキュメントの参照

fileCabinetId

システム変数 → File Cabinet GUID

ドキュメントを含むファイルキャビネット

statusValue

固定テキスト → ステータス値

請求書に設定するステータス値

JSON HTTP Request Body:

{ "documentId": "Index field DocumentID", "fileCabinetId": "System variables File Cabinet GUID", "statusValue": "Paid" }

JSON HTTP Response Body (200):

{
  taskStatus: "InProcess",
  error: ""
}

Error: 404 Not Found:

次のステータス値が statusValue に書き込まれます:

値

説明

read

請求書は配信され、受信者により受理されました。

accepted

受信者が請求書を支払い対象として承認しました。

refused

受信者が請求書を拒否しました(例: 金額の誤り、注文参照の欠落、サービス内容の相違など)。

paid

受信者によって請求書が支払い済みとして宣言されました。

annotated

請求書が注釈済みとしてマークされました。
フランスの法人に関する注記:

  - 異議が登録される場合、理由の入力は必須です。登録されない場合、請求書は DGFiP で計上済みとしてマークされます。

4. 検証レポートの作成

エンドポイント: Post /v1/invoices/validation/report

DocuWare に保存された電子請求書に対して技術ルールおよびビジネスルールのチェックを実行し、検証レポートを生成します。結果は専用のインデックスフィールドに書き込まれ、検証レポートが電子請求書に添付されます。

この機能は現在、ドイツのみを参照してください。

HTTP Headers: Accept: application/json + Content-Type: application/json (構成済み)

HTTP Request Body パラメーター:

パラメーター

タイプ

説明

documentId

システム変数 → Document ID

DocuWare ドキュメントの参照

fileCabinetId

システム変数 → File Cabinet GUID

ドキュメントを含むファイルキャビネット

configuration

固定テキスト → ConfigurationName

E-Invoicing Service 構成の名前

validationStatusField

インデックスフィールド → 例: Validation Status

検証結果が書き込まれるインデックスフィールド

JSON HTTP Request Body:

{ "documentId": "Index field DocumentID", "fileCabinetId": "System variables File Cabinet GUID", "configuration": "ConfigurationName", "validationStatusField": "Index field Validation_Status" }

JSON HTTP Response Body (200):

{ "taskId": "{id}" }

次の検証結果の値が validationStatusField に書き込まれます:

値

説明

valid

電子請求書がすべての技術ルールおよびビジネスルールのチェックに合格しました

invalid

電子請求書が 1 つ以上のチェックに不合格となりました

error

技術的なエラーのため検証を完了できませんでした

5. 電子請求書ファイルまたはデータからの税務レポートの提出

エンドポイント: Post /v1/tax-reports/create

義務付けられた電子申告のために、税務レポートを DGFiP に提出します。電子申告データは、DocuWare に保存されたインデックスデータから生成することも、既存の法令準拠の電子請求書ファイルから直接提出することもできます。

情報: この機能は現在、フランスのみで利用可能です。

HTTP Headers: Accept: application/json + Content-Type: application/json (構成済み)

HTTP Request Body パラメーター:

パラメーター

タイプ

説明

documentId

システム変数 → Document ID

DocuWare ドキュメントの参照

fileCabinetId

システム変数 → File Cabinet GUID

ドキュメントを含むファイルキャビネット

configuration

固定テキスト → ConfigurationName

E-Invoicing Service 構成の名前

statusField

インデックスフィールド → 例: Invoice_Status

請求書ステータスが書き込まれるインデックスフィールド

invoiceSource

固定テキスト → Data または File

Data: E-Reporting Creation タブの構成を使用して、DocuWare に保存されたインデックスデータから電子申告データを生成します。File: 既存の法令準拠の電子請求書ファイルを直接提出します

invoiceType

固定テキスト → Issued または Received

法人の観点から、請求書が発行(送信)か受信(受信)かを示します

taxReportStatusField

インデックスフィールド → 例: Tax_Report_Status

任意。税務レポートのステータスが書き込まれるインデックスフィールド

taxReportIdentifierField

インデックスフィールド → 例: Tax_Report_Identifier

任意。税務レポートの識別子が保存されるインデックスフィールド。前提条件で定義した推奨インデックスフィールド TaxReportID に対応します

JSON HTTP Request Body:

{ "documentId": "Index field DocumentID", "fileCabinetId": "System variables File Cabinet GUID", "configuration": "ConfigurationName", "statusField": "Index field Invoice_Status", "invoiceSource": "Data", //Data or File "invoiceType": "Received", //Received or Issued "taxReportStatusField": "(Optional) Tax_Report_Status", "taxReportIdentifierField": "(Optional) Tax_Report_Identifier" }

JSON HTTP Response Body (200):

{ "taskId": "{id}" }

詳細および電子申告ステータスのリファレンスについては、DocuWare E-Invoicing Service のステータスについて にお問い合わせください。
E-Reporting のプロセスの詳細については、Understanding E-Reporting with DocuWare E-Invoicing Service(近日公開)を参照してください。

6. Peppol/Annuaire ディレクトリ検索

エンドポイント: Get /v1/directory

Peppol Registry または Annuaire で会社の住所とルーティング情報を検索します。このエンドポイントは同期型で、結果はレスポンスに直接返されます。Task ID は発行されず、ポーリングも不要です。

HTTP Headers: Accept: application/json + Content-Type: application/json (構成済み)

パラメーター

タイプ

説明

configuration

固定値 → ConfigurationName

E-Invoicing Service 構成の名前

countryCode

インデックスフィールド → CountryCode

受信者の ISO 3166-1 alpha-2 国コード。
例: de(ドイツ)、fr(フランス)、es(スペイン)、it(イタリア)、pl(ポーランド)、be(ベルギー)

taxId

インデックスフィールド → TaxID

受信者の納税者番号。形式は国によって異なります。
de VAT 番号(例: DE123456789)、fr SIREN(例: 505184754)、

HTTP Request Body パラメーター: なし

JSON HTTP Response Body (200):

このエンドポイントを使用して fr と 505184754 で DocuWare を検索した場合のレスポンスボディの例です。

{ "name": "DocuWare SARL", "email": "orders@docuware.com", "website": null, "address": "17 rue du Colisée", "address2": null, "city": "Paris", "postalcode": "75008", "province": "Paris", "country": "fr", "language": "en", "currency": "EUR", "tin_scheme": null, "tin_value": null, "cin_scheme": "0002", "cin_value": "505184754", "pin_scheme": "0225", "pin_value": "505184754" }

レスポンスフィールドのリファレンス:

フィールド

説明

name

登録された会社名

email

連絡先メールアドレス

website

会社の Web サイト(該当なしの場合は null)

address

番地・住所

address2

追加の住所行(該当なしの場合は null)

city

市区町村

postalcode

郵便番号

province

都道府県または地域

country

ISO 3166-1 alpha-2 国コード

language

デフォルトのドキュメント言語

currency

デフォルトの通貨

tin_scheme

納税者番号スキーム(該当しない場合は null)

tin_value

納税者番号の値(該当しない場合は null)

cin_scheme

会社識別スキーム

cin_value

会社識別の値

pin_scheme

Peppol 識別スキーム

pin_value

Peppol 識別の値

エラー処理

DocuWare E-Invoicing Service で電子請求書を処理する際、ワークフローのさまざまな段階でエラーが発生する可能性があります。エラーの対処方法を説明する前に、エラーがどこで報告され、どのような種類のエラーが発生し得るかを理解しておくと役立ちます。

エラーは、次のいずれかの方法で報告されます。

  • Workflow History – ワークフローの実行と、失敗したアクティビティを記録します

  • Task Viewer – 送受信した電子請求書の処理履歴とエラーの詳細を表示します。DocuWare E-Invoicing Service の設定方法 – 履歴

  • Web Service レスポンス – E-Invoicing Service API から直接エラーメッセージを返します。このメッセージはドキュメントのインデックスフィールドにマッピングできます

エラーの種類と対処方法

次の種類のエラーが発生する可能性があります。エラーの解決に必要な手順は、個々のエラーとその根本原因によって異なります。

構成とセットアップ

  • ConfigurationName が無効、または一致していない

  • 有効なライセンスがない、または法人の契約が解約されている

  • ワークフローユーザーが E-Invoicing Service 構成に対する Use 権限を持っていない

  • 選択した環境が誤っている (Staging と Production)

対処方法: E-Invoicing Service 構成を確認して修正し、再試行してください。

証明書と認証

  • 電子証明書の有効期限切れまたは無効 (ポーランド/KSeF)

  • 証明書 PIN の誤り (ポーランド/KSeF)

対処方法: ポーランド財務省を通じて電子証明書を更新し、E-Invoicing Service 構成で更新してください。

  • Peppol ID が有効でない、またはアカウントに登録されていない

対処方法:対処方法:DocuWare Support で電子請求書タスクの再試行を開始できます。

受信者

  • 受信者の Peppol ID がネットワークで見つからない

対処方法: 電子請求書の受信者情報を確認し、受信者に連絡して Peppol ID を確認してください。

ドキュメント

  • ファイルキャビネットにドキュメントが見つからない

  • 重複送信 – 請求書はすでに送信されています

  • 無効なステータス遷移

対処方法: 電子請求書のデータを確認し、ワークフロー構成が正しいことを確認してください。

ネットワークと接続

  • アクセスポイントに到達できない

  • Peppol ネットワークが一時的に利用できない

  • KSeF サービスが一時的に利用できない

  • 税務当局のシステムがメンテナンス中

解決策: 該当するネットワークの公開ステータスページで状況を確認してください。

ワークフローによるエラー処理の仕組み

電子請求書を Send E-Invoice エンドポイントで送信すると、E-Invoicing Service はただちに Task ID を返します。ネットワークへの実際の配信はバックグラウンドで行われ、通常は 1~3 分以内に完了します。ワークフローは Get Status Update エンドポイントを使用して結果をポーリングする必要があります。

送信ワークフローでのエラー処理には、次のパターンを推奨します。

1. Task ID の送信と保存

エンドポイント Post /v1/invoices/ を呼び出した後、返された Task ID をグローバルワークフロー変数に保存します。この Task ID は、以降のすべてのステータス確認に必要です。

2. 待機してステータスをポーリング

1~3 分の Time Delay アクティビティを追加してから、Get /v1/tasks/{id}/status を呼び出します。タスクの結果を確認します。

  • Completed → 請求書ステータスのインデックスフィールドの確認に進みます。

    • ステータス = sent → 電子請求書が正常に配信されました。ワークフローを続行します

    • ステータス = error → 配信に失敗しました。エラー処理に進みます

  • Retry → E-Invoicing Service が自動的に配信を再試行しています。約 40 分の Time Delay を追加し、Get /v1/tasks/{id}/status を使用して再度ポーリングします。サービスは最大 24 時間、再試行を続けます。

3. エラーの処理

最終的なエラーが確定した場合:

  • Web Service アクティビティの Data assignment 構成を使用して、API レスポンスのエラーメッセージを、ファイルキャビネット内の専用インデックスフィールド(例: Errors)に書き込みます。

  • 担当ユーザーがエラーを確認し、定義されたタスク構成に従って対応できるように、Workflow Task を作成します。

情報

E-Invoicing Service が返すエラーメッセージは、Web Service アクティビティの Data assignment タブで JSON パス $errorMessage を使用して、ドキュメントのインデックスフィールドにマッピングできます。これにより、Task Viewer にアクセスしなくても、ドキュメント上で直接エラーを確認できます。

エラー処理に関する推奨事項

  • E-Invoicing Service からのエラーメッセージを取得するために、専用のエラー用インデックスフィールド(例: キーワードとしての Errors)をファイルキャビネットに含めます。

  • エラーケース用の Workflow Task は、ユーザーが取るべき対応を明確に指示する形で設計します。

  • 詳細は DocuWare Configurations > Integrations > E-Invoicing の Task Viewer を使用して、送受信したすべての電子請求書の処理履歴全体と詳細なエラーメッセージを確認します。場合によっては、Task Viewer。

  • ネットワークまたは接続エラーの場合、E-Invoicing Service は最大 24 時間、自動的に再試行します。重複送信を防ぐため、この期間中は手動での再送信を避けてください。

請求書ステータスのリファレンス

電子請求書には次のステータス値が使用されます。一部のステータス値は、Peppol ネットワークや、ポーランドの KSeF などの他のネットワークとのバックグラウンド処理によって自動的に設定されます。

発行済み請求書

ステータス

説明

new

発行済み請求書の初期ステータス

sent

請求書が正常に送信されました

read

請求書は配信済みで、次の決定待ちです:accepted または refused

accepted

請求書が受理済みとしてマークされました

registered

登録通知を受信、または手動で登録済みとしてマークされました

refused

拒否通知を受信、または手動で拒否済みとしてマークされました

allegedly paid

請求書が支払われた、または手動で支払い済みとしてマークされました

受信済み請求書

ステータス

説明

new

受信済み請求書の初期ステータス、または手動で新規としてマークされました

read

請求書は配信済みで、次の決定待ちです:accepted または refused

accepted

請求書が受理済みとしてマークされました

refused

請求書が拒否済みとしてマークされました

paid

請求書が支払われた、または手動で支払い済みとしてマークされました

annotated

請求書が注釈済みとしてマークされました

発行済み簡易請求書

ステータス

説明

new

発行済み簡易請求書の初期ステータス

sent

請求書が正常に送信されました

accepted

請求書が受理済みとしてマークされました

refused

拒否通知を受信、または手動で拒否済みとしてマークされました

registered

登録通知を受信、または手動で登録済みとしてマークされました

paid

請求書が支払われた、または手動で支払い済みとしてマークされました

サポートされているバージョン: DocuWare Cloud