受注から入金までの請求・請求書発行データテンプレート
受注から入金までの請求・請求書発行データテンプレート
- 収集を推奨する属性
- 記録すべき主なアクティビティ
- NetSuiteからのデータ抽出ガイド
受注から入金までの請求・請求書発行の属性
| 名前 | 説明 | ||
|---|---|---|---|
| アクティビティ名 ActivityName | 請求書のライフサイクルにおける特定の時点で発生した業務イベントの名称です。 | ||
| 説明 アクティビティ名は、「請求書作成」「請求書承認」「顧客から入金」など、請求プロセス内の特定の手順やイベントを表します。これらのアクティビティが順につながり、プロセスマップを構成します。 アクティビティの順序や発生頻度の分析は、プロセスマイニングの基本です。実際のプロセスの流れを可視化し、よくある経路とまれな経路(バリアント)を特定できます。また、頻繁に繰り返されるアクティビティを見つけ、手戻りや非効率の有無を把握できます。 重要な理由 プロセスマップの作成に欠かせない属性です。請求書がたどるさまざまな手順や経路を可視化し、分析できます。 入手先 NetSuiteの請求書取引に関連するシステムログ、ステータス変更、特定のイベントレコードから取得します。多くの場合、取引のステータス変更や関連レコードの作成を、定義済みのアクティビティ名に対応付ける必要があります。 例 請求書作成請求書承認顧客から入金請求書全額支払い済み | |||
| イベントのタイムスタンプ EventTimestamp | 特定のアクティビティまたはイベントが発生した正確な日時です。 | ||
| 説明 この属性は、アクティビティが発生した正確な時刻を記録します。イベントを時系列に並べるために必要であり、時間に基づくあらゆる分析の基礎となります。 プロセスマイニングでは、イベントのタイムスタンプを使って、アクティビティ間のサイクルタイム、ケースの所要時間、待ち時間を算出します。ボトルネックの特定、SLAに対するプロセスのパフォーマンス測定、請求プロセスの時間的な動きの把握にも欠かせません。たとえば、請求書作成サイクルタイムや売上債権回転日数(DSO)の算出に使われます。 重要な理由 イベントの時系列がわかるため、所要時間に基づく指標の算出、ボトルネックの特定、時間の経過に伴うプロセスパフォーマンスの分析に役立ちます。 入手先 通常、NetSuiteの各請求書取引に関連するシステムノート、監査履歴、または「作成日」フィールドからタイムスタンプを取得します。 例 2023-10-26T10:00:00Z2023-10-27T14:30:00Z2023-11-15T09:05:00Z | |||
| 請求書番号 InvoiceNumber | 各請求書を一意に識別する番号で、請求プロセスの主なケース識別子として使われます。 | ||
| 説明 請求書番号は、作成から最終的なクローズまで、各請求書を一意に識別するため、請求プロセス分析の基盤となります。承認、送付、入金の適用など、関連するすべてのアクティビティを1つのケースにまとめます。 プロセスマイニングでは、請求書番号ごとの流れを分析することで、請求業務のライフサイクル全体を把握できます。プロセスのバリアントやボトルネック、標準手順からの逸脱を特定し、キャッシュフローと業務効率の改善に役立つインサイトを得られます。 重要な理由 各請求書のライフサイクル全体を追跡し、請求プロセスを再構成して、詳細なパフォーマンス分析を行うために欠かせません。 入手先 通常、NetSuiteの請求書取引レコードにある「取引ID」または同様の一意の識別フィールドです。 例 請求書-0012345請求書-0012346請求書-0012347 | |||
| ソースシステム SourceSystem | データの抽出元となるシステムです。 | ||
| 説明 この属性は、プロセスデータの取得元を示します。このビューでは、一貫して「NetSuite」となります。 複数のERPや連携システムを利用する組織など、より広い分析の場面では、データの来歴とガバナンスを把握するうえで重要です。複数のプラットフォームにまたがるプロセスを区別し、分析結果を適切な記録システムに結び付けられます。 重要な理由 データの取得元とガバナンスを把握するうえで重要なコンテキストを提供します。特に、複数のシステムを連携している環境で役立ちます。 入手先 データの抽出・変換時に追加する固定値(「NetSuite」)です。 例 NetSuite | |||
| 最終データ更新日時 LastDataUpdate | ソースシステムからデータが最後に更新された日時を示すタイムスタンプです。 | ||
| 説明 この属性は、データセットが最後に更新された日時を記録します。プロセスマイニング分析に使うデータの新しさや関連性を把握するための情報です。 分析担当者や業務関係者は、この情報を確認して、インサイトが最新の業務状況を反映しているかを判断できます。ダッシュボードやレポートに欠かせないメタデータであり、データの経過時間を把握したうえで意思決定を行い、リアルタイムのデータではないものをリアルタイムと誤解するのを防ぎます。 重要な理由 データがどの時点のものかを把握できるため、分析対象の期間とインサイトの関連性を正しく理解できます。 入手先 データ更新時に、データ抽出ツールまたはパイプラインによって生成・記録されるタイムスタンプです。 例 2024-05-21T02:00:00Z | |||
| イベント終了時刻 EventEndTime | 特定のアクティビティまたはイベントが完了した正確な日時です。 | ||
| 説明 イベント終了時刻は、アクティビティの完了時刻を示します。開始と終了が同時刻となるアクティビティも多い一方、承認など、所要時間を測定できるものもあります。 この属性とイベントのタイムスタンプ(開始時刻)を組み合わせると、アクティビティの処理時間を直接算出できます。処理時間を分析すれば、どの手順に最も時間とリソースがかかるかを特定し、アクティビティ間の待ち時間と区別できます。個々のタスクにおける非効率を見つけるうえで重要です。 重要な理由 各アクティビティの完了にかかる時間を正確に算出できます。リソース効率の分析や、時間のかかるタスクの特定に欠かせません。 入手先 開始時刻と同様に、NetSuiteのシステム監査履歴から取得できます。「開始」イベントと対応する「終了」イベントを組み合わせるロジックが必要になる場合があります。 例 2023-10-26T10:05:14Z2023-10-27T14:32:00Z2023-11-15T09:05:00Z | |||
| ユーザー User | アクティビティを実行したユーザーの名前またはIDです。 | ||
| 説明 この属性は、特定のプロセス手順を実行した従業員またはシステムユーザーを示します。請求書の作成者、承認者、入金の適用者などが該当します。 ユーザー別にプロセスを分析すると、業務量の配分や個人ごとのパフォーマンスを把握し、必要なトレーニングを特定できます。手作業を多くのユーザーが行っている箇所を確認し、自動化の可能性を探ることもできます。コンプライアンスや監査履歴の分析にも重要です。 重要な理由 業務量の配分、ユーザーごとのパフォーマンス、プロセスの遵守状況を分析できます。リソース管理や対象を絞ったトレーニングに役立ちます。 入手先 NetSuiteの「システムノート」サブタブ、または請求書や関連取引レコードの「変更者」フィールドで確認できます。 例 アリス・スミスボブ・ジョンソンシステム | |||
| 地域 Region | 顧客または取引に関連する地理的な地域です。 | ||
| 説明 地域属性は、顧客の住所や請求書を発行した事業部門などの情報を基に、請求書を地理的な地域ごとに分類します。 地域間の比較分析に役立つ属性です。「地域別請求プロセス比較」ダッシュボードでは、この属性を使ってサイクルタイム、エラー率、プロセスのバリアントなどの重要業績評価指標(KPI)を地域ごとに比較します。地域間のパフォーマンスの差や、成果の高い地域のベストプラクティスを特定し、組織全体でプロセスを標準化する取り組みに役立ちます。 重要な理由 地域間の比較分析が可能になり、パフォーマンスの差の特定やベストプラクティスの標準化に役立ちます。 入手先 NetSuiteでは、顧客マスタまたは取引レコードのカスタムセグメントや分類フィールドに保存されていることがよくあります。 例 北米欧州・中東・アフリカアジア太平洋 | |||
| 支払期日 DueDate | 請求書の支払期日です。 | ||
| 説明 支払期日は、請求日と合意済みの支払条件に基づいて算出されます。顧客が支払いを遅延とみなされずに行える期限です。 この属性は、売掛金の管理とキャッシュフローの把握に欠かせません。期日内支払い率の重要業績評価指標(KPI)の算出や、顧客の支払い傾向の分析に使う基準です。支払期日からの遅れを追跡すると、支払いが遅れがちな顧客を特定し、回収施策の効果を評価できます。 重要な理由 期日内の支払い状況や顧客の支払い傾向を測定するうえで重要です。債権回収とキャッシュフロー予測にも役立ちます。 入手先 NetSuiteの請求書取引レコードにある「支払期日」(duedate)フィールドに対応します。 例 2023-11-252023-11-262023-12-15 | |||
| 自動処理かどうか IsAutomated | システムがアクティビティを自動実行したかどうかを示すフラグです。 | ||
| 説明 この真偽値属性により、ユーザーが手動で行ったアクティビティと、システムのワークフロー、スクリプト、連携機能が自動実行したアクティビティを区別できます。 請求プロセスの自動化率を測定するための重要な属性で、「請求自動化率」の重要業績評価指標(KPI)を直接支えます。自動または手動のアクティビティで絞り込むことで、手作業によるボトルネックや、自動化の拡大、人為的ミスの削減、効率向上につながる機会を特定できます。 重要な理由 プロセスの自動化率を測定し、手作業の削減と効率向上につながる機会を見つけるのに役立ちます。 入手先 通常は、アクティビティに関連付けられた「ユーザー」を確認して判定します。「SYSTEM」「Workflow」「Integration」という名前のユーザーが起動したイベントは、自動処理として分類されます。 例 truefalse | |||
| 請求日 InvoiceDate | 顧客に発行した請求書の正式な日付です。 | ||
| 説明 請求日(取引日)は、請求に関する多くの財務計算の起点です。通常、支払条件や支払期日はこの日付を基に算出されます。 分析では、売上債権回転日数(DSO)や請求書の経過日数など、重要な財務指標を算出する際の基準日となります。また、期間別のコホート分析にも使われ、月次や前年比で請求業務のパフォーマンスを比較できます。 重要な理由 売上債権回転日数(DSO)や請求書の経過日数など、重要な財務指標のベースラインとなり、運転資本の分析に直接影響します。 入手先 NetSuiteの請求書取引レコードにある「日付」(trandate)フィールドに対応します。 例 2023-10-262023-10-272023-11-15 | |||
| 請求書合計金額 InvoiceTotalAmount | 税金やその他の料金を含む請求書の合計金額です。 | ||
| 説明 この属性は、顧客に支払いが求められる請求額の全体を示します。請求案件ごとの基本的な財務データです。 請求額に基づいてプロセスを分析すると、金額別の傾向を把握できます。たとえば、高額請求書が低額請求書より複雑なプロセスをたどるかどうかを確認できます。また、回収の優先順位付けや、支払いの遅れや請求書の誤りが財務に与える影響の把握にも使われます。 重要な理由 請求額に基づくプロセス分析が可能になり、高額請求書の優先順位付けや、プロセスの非効率が財務に与える影響の把握に役立ちます。 入手先 NetSuiteの請求書取引レコードにある「合計」(total)フィールドに対応します。 例 1500.0089.9912500.50 | |||
| 顧客名 CustomerName | 請求書の発行先である顧客の名前です。 | ||
| 説明 この属性は、請求先となる法人または個人を示し、請求プロセスと顧客関係管理業務を結び付けます。 顧客別に請求プロセスを分析すると、特定の顧客における支払い傾向、紛争、請求書の複雑さを把握できます。顧客のセグメント分け、与信限度額の決定、顧客に応じた回収方法の検討にも役立ちます。たとえば、特定の顧客の請求書で手戻りが繰り返し発生しているかを確認できます。 重要な理由 顧客ごとの支払い傾向、頻発する問題、プロセスの逸脱を特定するための分析が可能になります。 入手先 NetSuiteの請求書取引レコードにある「顧客」または「取引先」名フィールドに対応します。 例 グローバルテック株式会社イノベートソリューションズ合同会社コーナーストーン株式会社 | |||
| 受注番号 SalesOrderNumber | 請求書の発行元となった受注の識別番号です。 | ||
| 説明 この属性を使うと、請求書の元となった受注を直接確認でき、請求プロセスをその前段階にあたる販売・履行プロセスと結び付けられます。 受注番号を含めることで、受注から入金までのサイクル全体をより広く把握できます。請求上の問題を販売プロセスの発生元までさかのぼって分析できます。たとえば、請求書の訂正が頻発する場合、特定の種類の受注におけるデータ入力ミスが原因である可能性があります。 重要な理由 請求プロセスを販売プロセスと結び付け、受注から入金までをエンドツーエンドで分析できます。請求上の問題の根本原因を特定するのに役立ちます。 入手先 NetSuiteの請求書トランザクションの「Created From」フィールド、または「Related Records」サブタブで確認できます。 例 SO-0009876SO-0009877SO-0009878 | |||
| 売上債権回転日数 DaysSalesOutstanding | 請求書の日付から支払いを受領した日までの日数です。 | ||
| 説明 売上債権回転日数(DSO)は、請求書の発行後、支払いを回収するまでにかかる平均日数を示す重要な財務指標です。詳細な分析ができるよう、請求書ごとに算出します。 DSOは全体指標として集計されることが多い一方、請求書単位のデータがあれば、顧客、地域、請求書の種類ごとにDSOが高い対象を特定できます。「DSOの推移」ダッシュボードでは、この指標を使って回収効率の経時変化を可視化し、運転資本の管理に役立つ情報を提示します。 重要な理由 請求書単位で回収効率を数値化し、DSOが高い原因とキャッシュフローへの影響を詳しく分析できます。 入手先 「顧客からの支払いを受領」アクティビティのタイムスタンプから「InvoiceDate」を差し引いて算出します。 例 294562 | |||
| 手戻りかどうか IsRework | 手戻りや修正の繰り返しと見なされるアクティビティを識別する計算フラグです。 | ||
| 説明 「請求書の修正」や、同一ケース内で2回目に発生した「請求書の承認」など、付加価値を生まない手戻りを表すアクティビティには、この真偽値フラグが設定されます。通常は、アクティビティ名や同じアクティビティの繰り返しに基づいて判定します。 この属性は、「請求書の手戻り・却下分析」ダッシュボードと「請求書エラー率」の重要業績評価指標(KPI)に欠かせません。手戻りを簡単に定量化できるため、プロセス品質の問題を把握できます。手戻りのアクティビティで絞り込めば、エラーの根本原因をすばやく特定し、改善施策の効果を測定できます。 重要な理由 非効率な手戻りを特定してプロセス品質を直接測定し、請求エラーの根本原因と金銭的影響を分析できます。 入手先 データ変換時に算出する属性です。「請求書の修正」など特定のアクティビティ名や、同じアクティビティの繰り返しを判定して手戻りを特定します。 例 truefalse | |||
| 支払条件 PaymentTerms | 会社と顧客の間で合意した支払いの条件です。 | ||
| 説明 支払条件は、顧客が請求書をいつ、どのように支払うかを定めます。たとえば、「30日以内」や「受領時払い」などです。この情報を使って請求書の支払期日を自動計算します。 この属性は、「支払条件の遵守状況」ダッシュボードに欠かせません。支払条件ごとの期日内支払い率を分析すると、条件の効果を評価できます。たとえば、「15日以内」の顧客が「30日以内」の顧客より早く支払うかを確認し、今後の契約交渉や与信方針の検討に役立てられます。 重要な理由 さまざまな支払条件の効果と、顧客の期日内支払いへの影響を分析するうえで欠かせません。 入手先 NetSuiteの請求書取引レコードにある「条件」フィールドに対応します。 例 30日以内60日以内受領時払い | |||
| 期日どおりに支払われたか IsOnTimePayment | 顧客からの支払いが請求書の支払期日までに行われたかどうかを示すフラグです。 | ||
| 説明 この計算済みの真偽値フラグは、「顧客からの支払いを受領」アクティビティのタイムスタンプと、請求書の「DueDate」を比較します。期日どおり、または期日前の支払いはtrue、期日を過ぎた支払いはfalseになります。 この属性は、「期日どおりの支払率」の重要業績評価指標(KPI)と「支払条件の遵守状況」ダッシュボードの基礎となります。顧客の支払い状況を明確に二値で示すため、分析やレポート作成が容易になります。支払いの適時性に関する傾向をすばやく把握し、債権回収施策の効果を評価できます。 重要な理由 債権回収の成果を明確に測定でき、「期日どおりの支払率」の重要業績評価指標(KPI)の算出や顧客行動の分析に役立ちます。 入手先 計算属性です。支払いイベントのタイムスタンプと、ケースレベルの「DueDate」属性を比較して算出します。 例 truefalse | |||
| 請求書ステータス InvoiceStatus | ライフサイクルにおける請求書の現在のステータスです。 | ||
| 説明 この属性は、「未決済」「全額支払い済み」「無効化済み」など、請求書の現在の状態を示します。プロセスのどの段階にあるかを把握できます。 「未決済請求書ステータス概要」ダッシュボードは、この属性を基に作成されています。売掛金の状況をリアルタイムで確認し、財務チームが未回収残高を監視して、債権回収や入金予測を行うのに役立ちます。最終ステータスの分析から、プロセスの結果を把握することもできます。 重要な理由 売掛金の現在の状況を把握でき、未決済請求書や請求業務全体の進捗を監視するダッシュボードに役立ちます。 入手先 NetSuiteの請求書取引レコードにある「ステータス」フィールドに対応します。 例 未決済全額支払い済み無効化済み承認待ち | |||
| 通貨 Currency | 請求額に使われている通貨コードです。 | ||
| 説明 この属性は、請求額の通貨を示します。たとえば、USD、EUR、GBPなどです。金額を正しく理解するために必要な情報です。 多国籍の組織では、通貨別の分析が各市場の財務状況を把握するうえで重要です。金額を正しく解釈できるほか、必要に応じて通貨換算した後に、適切に集計・比較できます。 重要な理由 すべての金額を正しく理解するために必要な情報です。特に多国籍の事業では、正確な財務報告と分析に欠かせません。 入手先 NetSuiteの請求書取引レコードにある「通貨」フィールドに対応します。 例 USDEURGBP | |||
| 部門 Department | 請求書に関連付けられた社内部門です。 | ||
| 説明 この属性は、取引を担当する社内部門を表します。営業、サービス、特定の事業部門などが該当し、NetSuiteの標準的な分類セグメントです。 部門別にプロセスを分析すると、社内で比較し、請求プロセスの効率に部門間の差があるかを確認できます。プロセスの遵守状況やリソース配分の違いを把握し、組織内の特定部門を対象とした改善施策の検討に役立てられます。 重要な理由 社内部門ごとにプロセスのパフォーマンスを比較し、差異や社内標準化の機会を把握できます。 入手先 NetSuiteの請求書トランザクションで、ヘッダーまたは明細レベルに設定できる「Department」分類フィールドに対応します。 例 営業-エンタープライズプロフェッショナルサービスハードウェア | |||
受注から入金までの請求・請求書発行のアクティビティ
| アクティビティ | 説明 | ||
|---|---|---|---|
| 請求書を顧客に送付 | 請求書が通常メールで顧客に送付されたことを示します。請求書レコードからユーザーが「メール」操作を実行した時点を追跡して記録します。 | ||
| 重要な理由 顧客への回収期間の開始を示し、売上債権回転日数(DSO)の算出における主な起点となります。 入手先 請求書レコードの「最終メール送信日」フィールドに値が入力されたことから推定します。または、「コミュニケーション」サブタブにメールメッセージレコードが作成された時点から取得できます。 記録 「最終メール送信日」への入力、またはコミュニケーションレコードの作成から推定します。 イベントタイプ inferred | |||
| 請求書作成 | NetSuiteで請求書取引レコードが正式に作成されたことを示します。このイベントは、請求書番号ごとの請求プロセスの起点となり、取引レコードの作成日時から取得されます。 | ||
| 重要な理由 請求プロセスの主な開始イベントです。このイベントから他のイベントまでの時間を分析すると、プロセス全体の効率を把握でき、請求書作成サイクルタイムの重要業績評価指標(KPI)のベースラインにもなります。 入手先 請求書取引レコードの「作成日」タイムスタンプから取得します。NetSuiteの請求書に関するシステムノートにも、作成イベントと作成者が明示的に記録されます。 記録 請求書取引レコードの作成時に記録されるイベントです。 イベントタイプ explicit | |||
| 請求書全額支払い済み | 請求書のステータスが「全額支払い済み」に変わり、残高がゼロになったことを示します。この請求書の請求・回収サイクルが正常に完了した状態です。 | ||
| 重要な理由 プロセスが正常に完了したことを示す主な終了イベントです。この状態に至るまでの合計時間を分析すると、資金化サイクルのエンドツーエンドのサイクルタイムを把握できます。 入手先 請求書レコードの「ステータス」フィールドが「全額支払い済み」に変わったことから推定します。ステータス変更のタイムスタンプは、取引のシステムノートで確認できます。 記録 システムノートに記録された「ステータス」フィールドの「全額支払い済み」への変更から推定します。 イベントタイプ inferred | |||
| 請求書承認 | 請求書が正式に承認され、顧客に送付できる状態になったことを示します。通常はワークフローの処理によって、承認ステータスが「承認待ち」から「承認済み」に更新された時点で記録されます。 | ||
| 重要な理由 請求書を顧客に送付できるようになる重要な節目です。承認にかかる時間の測定や、請求業務自動化率の重要業績評価指標(KPI)の算出に欠かせません。 入手先 請求書レコードの「承認ステータス」フィールドが「承認済み」に変わったことから推定します。正確なタイムスタンプは、取引のシステムノートに記録されます。 記録 システムノートに記録された「承認ステータス」フィールドの「承認済み」への変更から推定します。 イベントタイプ inferred | |||
| 顧客から入金 | 顧客からの入金があり、システムに記録されたことを示します。NetSuiteで「顧客支払い」取引が作成された時点から取得します。1件または複数の請求書に適用される場合があります。 | ||
| 重要な理由 現金の受領を示しますが、特定の請求書への消込が完了したとは限りません。入金消込プロセスの最初の段階であり、売上債権回転日数(DSO)の算出に関わる重要なイベントです。 入手先 「顧客支払い」取引レコードの作成日から取得します。請求書との関連は、支払いレコードの「適用」サブタブで確認できます。 記録 顧客支払い取引レコードの作成です。 イベントタイプ explicit | |||
| クレジットメモ作成 | クレジットメモ取引が作成され、請求書に適用されたことを示します。これにより未払い残高が減額されます。通常、商品の返品、サービスへの苦情、価格の訂正などが発生した場合に作成されます。 | ||
| 重要な理由 手戻り、品質上の問題、顧客との紛争を明らかにします。頻繁に発生する場合は、根本的な問題が潜んでいる可能性があります。「請求書の手戻りと却下分析」ダッシュボードの重要な分析対象です。 入手先 クレジットメモ取引の作成時点から取得します。元の請求書との関連は、「作成元」フィールドまたはクレジットメモの「適用」サブタブで確認できます。 記録 元の請求書に関連付けられたクレジットメモレコードの作成です。 イベントタイプ explicit | |||
| 入金を請求書に適用 | 顧客からの入金がこの請求書に適用され、請求額が減額されたことを示します。顧客支払いレコードで適用内容を保存した時点で記録されます。 | ||
| 重要な理由 入金と請求書の決済を結び付ける重要なイベントです。「入金」からこのイベントまでの時間が、入金消込サイクルタイムの重要業績評価指標(KPI)となります。 入手先 顧客支払い取引のシステムノートまたは監査履歴から取得します。具体的には、請求書の明細行への適用を保存した時点を記録します。この適用のタイムスタンプが重要です。 記録 請求書への適用内容を含む顧客支払いレコードを保存した時点で記録されます。 イベントタイプ explicit | |||
| 承認申請 | 請求書のステータスが「承認待ち」に変わったことを示します。ユーザーが請求書を設定済みの承認ワークフローに送信した時点で記録されます。これは一般的なカスタマイズです。 | ||
| 重要な理由 このアクティビティは、承認待ちによるボトルネックが発生し始める箇所を特定します。承認を待つ時間は、請求書処理のサイクルタイム全体を構成する重要な要素です。 入手先 請求書レコードの「承認ステータス」フィールドが「承認待ち」に変わったことから推定します。この変更のタイムスタンプは、請求書のシステムノートの監査履歴で確認できます。 記録 システムノートに記録された「承認ステータス」フィールドの変更から推定します。 イベントタイプ inferred | |||
| 支払いリマインダー送付 | 未払いについて顧客に連絡したことを示します。請求書または顧客レコードから送信されたメールや記録済みのアクティビティとして取得します。多くの場合、督促ソリューションが記録します。 | ||
| 重要な理由 回収施策の効果を評価するうえで欠かせません。このアクティビティがその後の支払いに与える影響を分析すると、リマインダーの頻度や送付時期を見直せます。 入手先 請求書または顧客レコードの「コミュニケーション」>「メッセージ」サブタブにメールレコードが作成された時点から取得します。自動督促ソリューションでは、カスタムレコードやタスクとして記録される場合もあります。 記録 請求書に関連付けられたメールまたはアクティビティレコードとして記録されます。 イベントタイプ explicit | |||
| 支払期日到来 | 現在の日付が請求書の支払期日と一致したときに発生する計算上のイベントです。ユーザーやシステムの直接的な操作ではなく、分析時に既存データから算出されます。 | ||
| 重要な理由 支払いの適時性を測る重要な基準です。期日内支払い率の重要業績評価指標(KPI)の算出や、顧客の支払い傾向の分析に欠かせません。 入手先 NetSuiteに明示的なイベントとして記録されるものではありません。イベントログのタイムスタンプと請求書取引レコードの「支払期日」フィールドを比較して算出します。 記録 イベントのタイムスタンプが請求書の「支払期日」フィールドと一致したときに算出します。 イベントタイプ calculated | |||
| 請求書クローズ | 請求書取引がクローズされたことを示します。多くの場合、期末会計処理の一環として実行されます。支払いと照合が完了した後に取引が変更されるのを防ぎます。 | ||
| 重要な理由 「全額支払い済み」の後に行われることが多いものの、最終的な事務処理として実施される場合があります。支払いからクローズまでの遅れは、財務報告の適時性に影響する可能性があります。 入手先 「ステータス」フィールドが「クローズ」または同様の状態に変わったことから推定します。この変更のタイムスタンプはシステムノートから取得します。 記録 システムノートに記録された「ステータス」フィールドの変更から推定します。 イベントタイプ inferred | |||
| 請求書無効化 | 請求書が無効化され、取り消しと同時に総勘定元帳への影響が取り消されたことを示します。通常、誤って作成され、まだ支払いが行われていない請求書に対して実行されます。 | ||
| 重要な理由 プロセス上の例外であり、終端状態を示します。請求書が無効化された理由を把握すると、上流工程で修正が必要なデータ入力ミスやプロセス上のエラーを見つけられます。 入手先 ユーザーが明示的に実行する操作です。請求書のシステムノートには、取引を無効化した日時と実行者が記録されます。 記録 請求書のシステムノートに記録された明示的な「無効化」操作です。 イベントタイプ explicit | |||
データ抽出ガイド
ステップ
- NetSuiteにログイン:トランザクションレコードの保存検索を作成、実行できる十分な権限を持つロールで、NetSuiteアカウントにアクセスします。
- 保存検索を開く:「Reports」>「Saved Searches」>「All Saved Searches」>「New」の順に移動します。検索タイプの一覧から「Transaction」を選択します。これを基に、イベントタイプごとに複数の検索を作成します。
- 「請求書の作成」検索を作成:請求書の作成を記録する基本の検索です。
- 「Criteria」タブの「Standard」で、「Type」フィルターを「is Invoice」に設定します。
- 「Main Line」フィルターを追加し、「is true」に設定して、請求書ごとに1件のレコードを取得します。
- 「Results」タブで必要な列を追加します。数式を使って「ActivityName」などの標準化されたフィールドを作成します。たとえば、「Formula (Text)」フィールドを追加し、数式に
_UTF8'Invoice Created'を指定します。
- ステータス変更(承認、支払い済み、無効、クローズ)の検索を作成:多くのアクティビティはステータス変更です。正確なタイムスタンプを取得するには、System Notesを使う方法が最も確実です。
- 新しいTransactionの保存検索を作成します。
- 「Criteria」タブで、「Type」を「is Invoice」に設定します。
- 「Standard」サブタブで、「System Notes : Field」フィルターを追加し、該当するステータスフィールド(例:「Approval Status」)を選択します。
- 「System Notes : New Value」フィルターを追加し、対象のステータス(例:「Approved」)を設定します。
- 「Results」タブで、「System Notes : Date」を
EventTimestampに、「System Notes : Set by」を「ユーザー」に割り当てます。 - 同じ手順で、「請求書の承認申請」「請求書の承認」「請求書の全額支払い」「請求書の無効化」「請求書のクローズ」について検索を作成します。各アクティビティに合わせてフィールドと値のフィルターを調整してください。
- 「請求書を顧客に送信」検索を作成:通常、請求書レコードから送信されたメールを追跡して、このイベントを記録します。
- 「Type」を「is Invoice」に設定した新しいTransactionの保存検索を作成します。
- 「Criteria」タブの「Related Records」で、「Messages : Date Sent」フィルターを追加し、「is not empty」に設定します。
- 「Results」タブで、「Messages : Date Sent」を
EventTimestampに、「Messages : Author」を「ユーザー」に割り当てます。
- 支払いとクレジットメモのアクティビティを検索:これらは請求書に関連付けられた別のトランザクションタイプです。
- 「顧客からの支払いを受領」では、「Type」が「Customer Payment」の検索を作成します。作成日をイベントのタイムスタンプとして記録します。
- 「請求書に支払いを適用」では、同じ「Customer Payment」検索を使い、「Applied To Transaction」フィールドを結合します。支払いトランザクションの「Date Created」をタイムスタンプとして使用します。請求書への適用ごとに1行が取得されます。
- 「クレジットメモの作成」では、「Type」が「Credit Memo」の検索を作成し、「Created From」フィールドを関連付けて元の請求書番号を取得します。
- 保存検索を実行してエクスポート:作成した保存検索をそれぞれ実行します。結果ページでエクスポートアイコン(CSV、Excel、PDF)をクリックし、CSVを選択します。結果がNetSuiteのエクスポート上限を超える場合は、複数回に分けてエクスポートしてください。
- データを統合して変換:エクスポートしたCSVファイルを、Microsoft Excel、Pythonスクリプト、データ準備ツールなどで1つのファイルにまとめます。
- 「支払期日の到来」イベントを導出:統合したデータファイルで、「請求書の作成」イベントごとに新しい行を作成します。
ActivityNameを「支払期日の到来」に設定し、EventTimestampには請求書の「DueDate」フィールドの値を設定して、その他の関連する請求書属性もコピーします。 - イベントログを仕上げる:列見出しを必要なスキーマ(例:
InvoiceNumber、ActivityName、EventTimestamp)に合わせて統一します。タイムスタンプの形式が一貫していることを確認します。この抽出分に共通する値を使って、「SourceSystem」と「LastDataUpdate」列を追加します。最後に、統合したファイルをアップロード用のCSVとして保存します。
設定
- 前提条件:「Transaction」タイプの保存検索を作成、編集、実行できる権限を持つユーザーロールが必要です。また、請求書、顧客支払い、クレジットメモ、System Notesのレコードを表示できる必要があります。
- 検索タイプ:すべての抽出で主に使用する検索タイプは「Transaction」です。このタイプでは、必要なレコードとその関連情報にアクセスできます。
- 日付範囲の絞り込み:パフォーマンスとデータ量を管理するため、各検索に日付範囲フィルターを適用します。初回分析では、「Date Created」を使って直近3~6か月に絞り込むことを推奨します。
- Main Lineフィルター:「請求書の作成」など、伝票ヘッダー単位のイベントには、「Main Line」の条件を「true」に設定します。明細項目の分析が必要な場合は「false」に設定しますが、このプロセスでは明細の分析は不要です。
- System Notes:ステータス変更の記録には、System Notesが重要です。NetSuiteの設定(Setup > Company > Enable Features > SuiteCloud > SuiteAudit Trail)で、「Status」や「Approval Status」などの主要なトランザクションフィールドの監査が有効になっていることを確認してください。
- パフォーマンスに関する考慮事項:結合や数式フィールドが多く、日付範囲も広い複雑な検索は、NetSuiteのUI上で実行に時間がかかる場合があります。利用が少ない時間帯に検索を実行し、エクスポートすることをお勧めします。タイムアウトした場合は、日付範囲を狭め、データを小分けにしてエクスポートしてください。
クエリの例 sql
/*
This section describes the configuration for multiple NetSuite Saved Searches needed to generate the complete event log. Each block represents a separate Saved Search that must be created in the UI, exported, and then combined externally.
*/
-- Search 1: Invoice Created
Activity Name: 'Invoice Created'
Saved Search Type: Transaction
Criteria:
- Type is Invoice
- Main Line is true
Results Columns (Mapped to Event Log Attributes):
- InvoiceNumber: Document Number
- ActivityName: Formula (Text) = 'Invoice Created'
- EventTimestamp: Date Created
- User: Created By
- InvoiceDate: Date
- DueDate: Due Date
- InvoiceTotalAmount: Amount (Gross)
- CustomerName: Name
-- Search 2: Invoice Submitted for Approval
Activity Name: 'Invoice Submitted for Approval'
Saved Search Type: Transaction
Criteria:
- Type is Invoice
- System Notes : Field is Approval Status
- System Notes : New Value is [Your 'Pending Approval' status]
Results Columns:
- InvoiceNumber: Document Number
- ActivityName: Formula (Text) = 'Invoice Submitted for Approval'
- EventTimestamp: System Notes : Date
- User: System Notes : Set by
- CustomerName: Name
- InvoiceTotalAmount: Amount (Gross)
-- Search 3: Invoice Approved
Activity Name: 'Invoice Approved'
Saved Search Type: Transaction
Criteria:
- Type is Invoice
- System Notes : Field is Approval Status
- System Notes : New Value is [Your 'Approved' status]
Results Columns:
- InvoiceNumber: Document Number
- ActivityName: Formula (Text) = 'Invoice Approved'
- EventTimestamp: System Notes : Date
- User: System Notes : Set by
- CustomerName: Name
- InvoiceTotalAmount: Amount (Gross)
-- Search 4: Invoice Sent to Customer
Activity Name: 'Invoice Sent to Customer'
Saved Search Type: Transaction
Criteria:
- Type is Invoice
- Messages : Date Sent is not empty
Results Columns:
- InvoiceNumber: Document Number
- ActivityName: Formula (Text) = 'Invoice Sent to Customer'
- EventTimestamp: Messages : Date Sent (use Maximum summary type if multiple)
- User: Messages : Author (use Maximum summary type)
- CustomerName: Name
- InvoiceTotalAmount: Amount (Gross)
-- Search 5: Payment Reminder Issued
Activity Name: 'Payment Reminder Issued'
Saved Search Type: Transaction
Criteria:
- Type is Invoice
- User Notes : Note contains [Your dunning/reminder keyword]
Results Columns:
- InvoiceNumber: Document Number
- ActivityName: Formula (Text) = 'Payment Reminder Issued'
- EventTimestamp: User Notes : Date
- User: User Notes : Author
- CustomerName: Name
- InvoiceTotalAmount: Amount (Gross)
-- Search 6: Credit Memo Created
Activity Name: 'Credit Memo Created'
Saved Search Type: Transaction
Criteria:
- Type is Credit Memo
- Main Line is true
Results Columns:
- InvoiceNumber: Created From : Document Number
- ActivityName: Formula (Text) = 'Credit Memo Created'
- EventTimestamp: Date Created
- User: Created By
- CustomerName: Name
- InvoiceTotalAmount: Amount (Gross)
-- Search 7: Customer Payment Received
Activity Name: 'Customer Payment Received'
Saved Search Type: Transaction
Criteria:
- Type is Customer Payment
- Main Line is true
Results Columns:
- InvoiceNumber: Applied to Transaction : Document Number
- ActivityName: Formula (Text) = 'Customer Payment Received'
- EventTimestamp: Date Created
- User: Created By
- CustomerName: Name
-- Search 8: Payment Applied To Invoice
Activity Name: 'Payment Applied To Invoice'
Saved Search Type: Transaction
Criteria:
- Type is Customer Payment
- Main Line is false
Results Columns:
- InvoiceNumber: Applied to Transaction : Document Number
- ActivityName: Formula (Text) = 'Payment Applied To Invoice'
- EventTimestamp: Date Created
- User: Created By
- CustomerName: Name
-- Search 9: Invoice Paid In Full
Activity Name: 'Invoice Paid In Full'
Saved Search Type: Transaction
Criteria:
- Type is Invoice
- System Notes : Field is Status
- System Notes : New Value is Paid In Full
Results Columns:
- InvoiceNumber: Document Number
- ActivityName: Formula (Text) = 'Invoice Paid In Full'
- EventTimestamp: System Notes : Date
- User: System Notes : Set by
- CustomerName: Name
- InvoiceTotalAmount: Amount (Gross)
-- Search 10: Invoice Voided
Activity Name: 'Invoice Voided'
Saved Search Type: Transaction
Criteria:
- Type is Invoice
- Status is Invoice : Voided
- System Notes : Field is Status
- System Notes : New Value is Voided
Results Columns:
- InvoiceNumber: Document Number
- ActivityName: Formula (Text) = 'Invoice Voided'
- EventTimestamp: System Notes : Date
- User: System Notes : Set by
- CustomerName: Name
-- Search 11: Invoice Closed
Activity Name: 'Invoice Closed'
Saved Search Type: Transaction
Criteria:
- Type is Invoice
- System Notes : Field is Status
- System Notes : New Value contains Closed
Results Columns:
- InvoiceNumber: Document Number
- ActivityName: Formula (Text) = 'Invoice Closed'
- EventTimestamp: System Notes : Date
- User: System Notes : Set by
- CustomerName: Name
- InvoiceTotalAmount: Amount (Gross)
-- Event to be Derived Post-Extraction: Payment Due Date Reached
/*
This event is not extracted directly. After combining all other CSVs, create a new row for each unique invoice.
Set ActivityName to 'Payment Due Date Reached'.
Set EventTimestamp to the DueDate value from the 'Invoice Created' event for that invoice.
Copy other attributes like InvoiceNumber, CustomerName, etc.
*/ ステップ
- 前提条件:SuiteAnalytics Connectを有効化:NetSuite環境でSuiteAnalytics Connectモジュールのライセンスがあり、有効になっていることを確認します。通常、NetSuite管理者がSetup > Company > Enable Features > Analyticsから設定します。
- ODBCドライバーのダウンロードと設定:NetSuiteのホームダッシュボードで「Settings」ポートレットを開きます。「Set Up SuiteAnalytics Connect」リンクをクリックし、使用しているOSに適したODBCドライバーをダウンロードします。NetSuiteのインストール手順に従ってドライバーを設定し、サービスホスト、ポート、Account ID、Role ID、メールアドレス、パスワードを入力します。
- データベース接続の確立:DBeaver、Tableau、Power BIなど、ODBC接続に対応したSQLクライアントを使用します。前の手順で設定したドライバーを使って新しいODBC接続を作成します。接続をテストし、認証が成功してNetSuiteの読み取り専用レプリカデータベースにアクセスできることを確認します。
- SQLクエリの準備:この文書の「Query」セクションに記載されたSQLクエリ全体をコピーします。このクエリでは、受注から入金までの請求プロセスに必要なすべてのアクティビティと属性を抽出します。
- クエリパラメーターの設定:実行前に、クエリ内のプレースホルダーを確認します。抽出期間の開始日と終了日に合わせて、
'YYYY-MM-DD'を置き換えてください。また、分析対象のNetSuite子会社の内部IDに合わせて、[Your Subsidiary ID]を置き換えます。 - クエリの実行:変更したクエリをSQLクライアントで実行します。実行時間は、日付範囲とNetSuiteアカウント内のトランザクション量によって異なります。
- 結果の確認:クエリが完了すると、イベントログを表すフラットなテーブルが返されます。各行は請求書のライフサイクルにおける特定のアクティビティに対応します。データに不足や誤りがないか確認してください。
- イベントログのエクスポート:SQLクライアントからクエリ結果をCSVファイルにエクスポートします。文字化けを防ぐため、UTF-8でエンコードされていることを確認してください。
- アップロードの準備:プロセスマイニングツールにアップロードする前に、列見出しがInvoiceNumber、ActivityName、EventTimestampなどの必要な属性名と一致していることを確認します。日付と時刻の形式も統一してください。
設定
- SuiteAnalytics Connectのライセンス:NetSuiteの読み取り専用レプリカデータベースにアクセスするには、SuiteAnalytics Connectモジュールの有効なライセンスが必要です。ライセンスがない場合、SQLで直接アクセスすることはできません。
- 専用ロールとユーザー:SuiteAnalytics Connectに必要な権限を設定した専用のNetSuiteロールを作成することを強くお勧めします。このロールには、トランザクション、顧客、System Notesなど、必要なレコードへの読み取り専用アクセス権を付与してください。セキュリティと監査性を確保するため、抽出用の専用ユーザーをこのロールに割り当てます。
- 日付範囲の絞り込み:提供されているクエリには、請求書の作成日(
Transaction.TRANDATE)を指定するWHERE句が含まれています。初回の抽出では、パフォーマンスとデータ量を管理するため、直近3~6か月など、短い期間から始めることをお勧めします。例:AND T.TRANDATE BETWEEN '2023-01-01' AND '2023-06-30'。 - 子会社による絞り込み:複数の子会社があるアカウントでは、パフォーマンスとデータの関連性を保つため、対象の子会社で絞り込むことが重要です。クエリには
WHERE T.SUBSIDIARY_ID = [Your Subsidiary ID]というプレースホルダーが含まれているため、適切に設定してください。 - データの更新頻度:SuiteAnalytics Connectのデータベースは読み取り専用レプリカです。通常は1時間に複数回更新されますが、リアルタイムではありません。NetSuiteでトランザクションが発生してからConnectデータベースに反映されるまで、数時間ほど遅れる場合があります。
クエリの例 sql
WITH Invoices AS (
SELECT
T.TRANSACTION_ID,
T.TRANID AS InvoiceNumber,
T.TRANDATE AS InvoiceDate,
T.DUEDATE AS DueDate,
T.FOREIGN_TOTAL AS InvoiceTotalAmount,
C.COMPANYNAME AS CustomerName,
BUILTIN.DF(C.LOCATION) AS Region,
T.CREATED_DATE AS InvoiceCreationDate,
CREATOR.FIRST_NAME || ' ' || CREATOR.LAST_NAME AS CreatorUser
FROM
TRANSACTIONS T
JOIN
CUSTOMERS C ON T.ENTITY_ID = C.CUSTOMER_ID
LEFT JOIN
EMPLOYEES CREATOR ON T.CREATED_BY_ID = CREATOR.EMPLOYEE_ID
WHERE
T.TRANSACTION_TYPE = 'Invoice'
AND T.TRANDATE BETWEEN TO_DATE('2023-01-01', 'YYYY-MM-DD') AND TO_DATE('2023-12-31', 'YYYY-MM-DD')
-- AND T.SUBSIDIARY_ID = [Your Subsidiary ID] -- Add your subsidiary filter if needed
)
-- 1. Invoice Created
SELECT
I.InvoiceNumber AS "InvoiceNumber",
'Invoice Created' AS "ActivityName",
I.InvoiceCreationDate AS "EventTimestamp",
I.InvoiceCreationDate AS "EventEndTime",
I.CreatorUser AS "User",
'NetSuite' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
I.InvoiceDate AS "InvoiceDate",
I.DueDate AS "DueDate",
I.InvoiceTotalAmount AS "InvoiceTotalAmount",
I.CustomerName AS "CustomerName",
I.Region AS "Region",
CASE WHEN I.CreatorUser LIKE '%System%' THEN 1 ELSE 0 END AS "IsAutomated"
FROM
Invoices I
UNION ALL
-- 2. Invoice Submitted for Approval & 3. Invoice Approved
SELECT
I.InvoiceNumber AS "InvoiceNumber",
CASE WHEN SN.NEW_VALUE = 'Pending Approval' THEN 'Invoice Submitted for Approval' ELSE 'Invoice Approved' END AS "ActivityName",
SN.DATE_CREATED AS "EventTimestamp",
SN.DATE_CREATED AS "EventEndTime",
SN_AUTHOR.FIRST_NAME || ' ' || SN_AUTHOR.LAST_NAME AS "User",
'NetSuite' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
I.InvoiceDate AS "InvoiceDate",
I.DueDate AS "DueDate",
I.InvoiceTotalAmount AS "InvoiceTotalAmount",
I.CustomerName AS "CustomerName",
I.Region AS "Region",
CASE WHEN SN.AUTHOR_ID < 0 THEN 1 ELSE 0 END AS "IsAutomated"
FROM
Invoices I
JOIN
SYSTEM_NOTES SN ON I.TRANSACTION_ID = SN.TRANSACTION_ID
LEFT JOIN
EMPLOYEES SN_AUTHOR ON SN.AUTHOR_ID = SN_AUTHOR.EMPLOYEE_ID
WHERE
SN.FIELD = 'TRANSACTION.APPROVALSTATUS' AND SN.NEW_VALUE IN ('Pending Approval', 'Approved')
UNION ALL
-- 4. Invoice Sent to Customer
SELECT
I.InvoiceNumber AS "InvoiceNumber",
'Invoice Sent to Customer' AS "ActivityName",
M.MESSAGE_DATE AS "EventTimestamp",
M.MESSAGE_DATE AS "EventEndTime",
MSG_AUTHOR.FIRST_NAME || ' ' || MSG_AUTHOR.LAST_NAME AS "User",
'NetSuite' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
I.InvoiceDate AS "InvoiceDate",
I.DueDate AS "DueDate",
I.InvoiceTotalAmount AS "InvoiceTotalAmount",
I.CustomerName AS "CustomerName",
I.Region AS "Region",
0 AS "IsAutomated"
FROM
Invoices I
JOIN
MESSAGES M ON I.TRANSACTION_ID = M.TRANSACTION_ID
LEFT JOIN
EMPLOYEES MSG_AUTHOR ON M.AUTHOR_ID = MSG_AUTHOR.EMPLOYEE_ID
WHERE
M.INCOMING = 'F' -- Indicates an outgoing message
UNION ALL
-- 5. Payment Due Date Reached
SELECT
I.InvoiceNumber AS "InvoiceNumber",
'Payment Due Date Reached' AS "ActivityName",
I.DueDate AS "EventTimestamp",
I.DueDate AS "EventEndTime",
'System' AS "User",
'NetSuite' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
I.InvoiceDate AS "InvoiceDate",
I.DueDate AS "DueDate",
I.InvoiceTotalAmount AS "InvoiceTotalAmount",
I.CustomerName AS "CustomerName",
I.Region AS "Region",
1 AS "IsAutomated"
FROM
Invoices I
WHERE
I.DueDate IS NOT NULL AND I.DueDate < SYSDATE
UNION ALL
-- 6. Payment Reminder Issued (based on Messages table, requires a specific subject line convention)
SELECT
I.InvoiceNumber AS "InvoiceNumber",
'Payment Reminder Issued' AS "ActivityName",
M.MESSAGE_DATE AS "EventTimestamp",
M.MESSAGE_DATE AS "EventEndTime",
MSG_AUTHOR.FIRST_NAME || ' ' || MSG_AUTHOR.LAST_NAME AS "User",
'NetSuite' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
I.InvoiceDate AS "InvoiceDate",
I.DueDate AS "DueDate",
I.InvoiceTotalAmount AS "InvoiceTotalAmount",
I.CustomerName AS "CustomerName",
I.Region AS "Region",
CASE WHEN M.AUTHOR_ID < 0 THEN 1 ELSE 0 END AS "IsAutomated"
FROM
Invoices I
JOIN
MESSAGES M ON I.TRANSACTION_ID = M.TRANSACTION_ID
LEFT JOIN
EMPLOYEES MSG_AUTHOR ON M.AUTHOR_ID = MSG_AUTHOR.EMPLOYEE_ID
WHERE
M.INCOMING = 'F' AND UPPER(M.SUBJECT) LIKE '%PAYMENT REMINDER%'
UNION ALL
-- 7. Credit Memo Created & Applied
SELECT
I.InvoiceNumber AS "InvoiceNumber",
'Credit Memo Created' AS "ActivityName",
CM.CREATED_DATE AS "EventTimestamp",
CM.CREATED_DATE AS "EventEndTime",
CM_CREATOR.FIRST_NAME || ' ' || CM_CREATOR.LAST_NAME AS "User",
'NetSuite' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
I.InvoiceDate AS "InvoiceDate",
I.DueDate AS "DueDate",
I.InvoiceTotalAmount AS "InvoiceTotalAmount",
I.CustomerName AS "CustomerName",
I.Region AS "Region",
0 AS "IsAutomated"
FROM
Invoices I
JOIN
TRANSACTION_LINES T_LINES ON I.TRANSACTION_ID = T_LINES.APPLIED_TO_TRANSACTION_ID
JOIN
TRANSACTIONS CM ON T_LINES.TRANSACTION_ID = CM.TRANSACTION_ID
LEFT JOIN
EMPLOYEES CM_CREATOR ON CM.CREATED_BY_ID = CM_CREATOR.EMPLOYEE_ID
WHERE
CM.TRANSACTION_TYPE = 'Credit Memo'
UNION ALL
-- 8. Customer Payment Received & 9. Payment Applied to Invoice
SELECT
I.InvoiceNumber AS "InvoiceNumber",
'Customer Payment Received' AS "ActivityName", -- Can also create a separate 'Payment Applied' event if needed
PAYMENT.CREATED_DATE AS "EventTimestamp",
PAYMENT.CREATED_DATE AS "EventEndTime",
PMT_CREATOR.FIRST_NAME || ' ' || PMT_CREATOR.LAST_NAME AS "User",
'NetSuite' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
I.InvoiceDate AS "InvoiceDate",
I.DueDate AS "DueDate",
I.InvoiceTotalAmount AS "InvoiceTotalAmount",
I.CustomerName AS "CustomerName",
I.Region AS "Region",
0 AS "IsAutomated"
FROM
Invoices I
JOIN
TRANSACTION_LINES T_LINES ON I.TRANSACTION_ID = T_LINES.APPLIED_TO_TRANSACTION_ID
JOIN
TRANSACTIONS PAYMENT ON T_LINES.TRANSACTION_ID = PAYMENT.TRANSACTION_ID
LEFT JOIN
EMPLOYEES PMT_CREATOR ON PAYMENT.CREATED_BY_ID = PMT_CREATOR.EMPLOYEE_ID
WHERE
PAYMENT.TRANSACTION_TYPE = 'Customer Payment'
UNION ALL
-- 10. Invoice Paid In Full, 11. Invoice Voided, 12. Invoice Closed
SELECT
I.InvoiceNumber AS "InvoiceNumber",
CASE
WHEN SN.NEW_VALUE_ID = 'Invoice:B' THEN 'Invoice Paid In Full' -- 'B' is status 'Paid In Full'
WHEN SN.FIELD = 'TRANSACTION.VOIDED' AND SN.NEW_VALUE = 'T' THEN 'Invoice Voided'
WHEN SN.FIELD = 'TRANSACTION.CLOSED' AND SN.NEW_VALUE = 'T' THEN 'Invoice Closed'
END AS "ActivityName",
SN.DATE_CREATED AS "EventTimestamp",
SN.DATE_CREATED AS "EventEndTime",
SN_AUTHOR.FIRST_NAME || ' ' || SN_AUTHOR.LAST_NAME AS "User",
'NetSuite' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
I.InvoiceDate AS "InvoiceDate",
I.DueDate AS "DueDate",
I.InvoiceTotalAmount AS "InvoiceTotalAmount",
I.CustomerName AS "CustomerName",
I.Region AS "Region",
CASE WHEN SN.AUTHOR_ID < 0 THEN 1 ELSE 0 END AS "IsAutomated"
FROM
Invoices I
JOIN
SYSTEM_NOTES SN ON I.TRANSACTION_ID = SN.TRANSACTION_ID
LEFT JOIN
EMPLOYEES SN_AUTHOR ON SN.AUTHOR_ID = SN_AUTHOR.EMPLOYEE_ID
WHERE
(SN.FIELD = 'TRANSACTION.STATUS' AND SN.NEW_VALUE_ID = 'Invoice:B')
OR (SN.FIELD = 'TRANSACTION.VOIDED' AND SN.NEW_VALUE = 'T')
OR (SN.FIELD = 'TRANSACTION.CLOSED' AND SN.NEW_VALUE = 'T'); 準備はできましたか?
このテンプレートを使ってプロセスマイニングを始め、請求業務のインサイトを見つけましょう。受注から入金までのプロセス改善に、今すぐ取り組めます。
NetSuiteの請求業務を今すぐ改善し、キャッシュフローを早めましょう
NetSuiteの請求サイクルを30%短縮し、キャッシュフローを改善しましょう。
クレジットカードは不要です。数分で設定できます。