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: 電子請求書の処理に使用するファイルキャビネットに、次のインデックスフィールドを設定することを推奨します。
TaxReportIDNetwork_IDInvoice_StatusValidation_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 パラメーター:
パラメーター | タイプ | 説明 |
|---|---|---|
| システム変数 → Document ID | DocuWare ドキュメントの参照 |
| システム変数 → File Cabinet GUID | ドキュメントを含むファイルキャビネット |
| 固定テキスト → | E-Invoicing Service 構成の名前 |
| インデックスフィールド → 例: Status | 請求書ステータスが書き込まれるインデックスフィールド |
| ブール値 → | ネットワークへ送信する前に、送信前チェックを実行します。常に |
| インデックスフィールド → 例: Network ID | 任意。ネットワーク参照 ID が保存されるインデックスフィールド。 |
| 固定テキスト → 例: | 任意。E-Invoicing Service 構成で設定されたデフォルトのトランスポートタイプを上書きします。オプション: |
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: なし
ルート構成:
ルートセグメント | 値 | 説明 |
|---|---|---|
| 固定値 | API バージョン |
| 固定値 | エンドポイントパス |
| グローバル変数 → Task ID |
|
| 固定値 | エンドポイントパス |
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 パラメーター:
パラメーター | タイプ | 説明 |
|---|---|---|
| システム変数 → Document ID | DocuWare ドキュメントの参照 |
| システム変数 → File Cabinet GUID | ドキュメントを含むファイルキャビネット |
| 固定テキスト → ステータス値 | 請求書に設定するステータス値 |
JSON HTTP Request Body:
{ "documentId": "Index field DocumentID", "fileCabinetId": "System variables File Cabinet GUID", "statusValue": "Paid" }JSON HTTP Response Body (200):
{ "taskId": "{id}" }次のステータス値が statusValue に書き込まれます:
値 | 説明 |
|---|---|
| 受信者が請求書を支払い対象として承認しました。 |
| 受信者が請求書を拒否しました(例: 金額の誤り、注文参照の欠落、サービス内容の相違など)。 |
| 受信者によって請求書が支払い済みとして宣言されました。 |
4. 検証レポートの作成
エンドポイント: Post /v1/invoices/validation/report
DocuWare に保存された電子請求書に対して技術ルールおよびビジネスルールのチェックを実行し、検証レポートを生成します。結果は専用のインデックスフィールドに書き込まれ、検証レポートが電子請求書に添付されます。
この機能は現在、ドイツのみ で利用可能です。
HTTP Headers: Accept: application/json + Content-Type: application/json (構成済み)
HTTP Request Body パラメーター:
パラメーター | タイプ | 説明 |
|---|---|---|
| システム変数 → Document ID | DocuWare ドキュメントの参照 |
| システム変数 → File Cabinet GUID | ドキュメントを含むファイルキャビネット |
| 固定テキスト → | E-Invoicing Service 構成の名前 |
| インデックスフィールド → 例: 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 に書き込まれます:
値 | 説明 |
|---|---|
| 電子請求書がすべての技術ルールおよびビジネスルールのチェックに合格しました |
| 電子請求書が 1 つ以上のチェックに不合格となりました |
| 技術的なエラーのため検証を完了できませんでした |
5. 電子請求書ファイルまたはデータからの税務レポートの提出
エンドポイント: Post /v1/tax-reports/create
義務付けられた電子申告のために、税務レポートを DGFiP に提出します。電子申告データは、DocuWare に保存されたインデックスデータから生成することも、既存の法令準拠の電子請求書ファイルから直接提出することもできます。
情報: この機能は現在、フランスのみで利用可能です。
HTTP Headers: Accept: application/json + Content-Type: application/json (構成済み)
HTTP Request Body パラメーター:
パラメーター | タイプ | 説明 |
|---|---|---|
| システム変数 → Document ID | DocuWare ドキュメントの参照 |
| システム変数 → File Cabinet GUID | ドキュメントを含むファイルキャビネット |
| 固定テキスト → | E-Invoicing Service 構成の名前 |
| インデックスフィールド → 例: Invoice_Status | 請求書ステータスが書き込まれるインデックスフィールド |
| 固定テキスト → | Data: E-Reporting Creation タブの構成を使用して、DocuWare に保存されたインデックスデータから電子申告データを生成します。File: 既存の法令準拠の電子請求書ファイルを直接提出します |
| 固定テキスト → | 法人の観点から、請求書が発行(送信)か受信(受信)かを示します |
| インデックスフィールド → 例: Tax_Report_Status | 任意。税務レポートのステータスが書き込まれるインデックスフィールド |
| インデックスフィールド → 例: 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 (構成済み)
パラメーター | タイプ | 説明 |
|---|---|---|
| 固定値 → | E-Invoicing Service 構成の名前 |
| インデックスフィールド → CountryCode | 受信者の ISO 3166-1 alpha-2 国コード。 |
| インデックスフィールド → TaxID | 受信者の納税者番号。形式は国によって異なります。 |
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 | 登録された会社名 |
連絡先メールアドレス | |
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. 待機してステータスをポーリング
Get /v1/tasks/{id}/status を呼び出す前に、1~3 分の Time Delay アクティビティを追加します。タスクの結果を確認します。
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 などの他のネットワークとのバックグラウンド処理によって自動的に設定されます。
発行済み請求書
ステータス | 説明 |
|---|---|
| 発行済み請求書の初期ステータス |
| 請求書が正常に送信されました |
| 請求書が受理済みとしてマークされました |
| 登録通知を受信、または手動で登録済みとしてマークされました |
| 拒否通知を受信、または手動で拒否済みとしてマークされました |
| 請求書が支払われた、または手動で支払い済みとしてマークされました |
受信済み請求書
ステータス | 説明 |
|---|---|
| 受信済み請求書の初期ステータス、または手動で新規としてマークされました |
| 請求書が受理済みとしてマークされました |
| 請求書が拒否済みとしてマークされました |
| 請求書が注釈済みとしてマークされました |
| 請求書が支払われた、または手動で支払い済みとしてマークされました |
発行済み簡易請求書
ステータス | 説明 |
|---|---|
| 発行済み簡易請求書の初期ステータス |
| 請求書が正常に送信されました |
| 請求書が受理済みとしてマークされました |
| 拒否通知を受信、または手動で拒否済みとしてマークされました |
| 登録通知を受信、または手動で登録済みとしてマークされました |
| 請求書が支払われた、または手動で支払い済みとしてマークされました |