NPSPデータインポーターエラーのトラブルシューティング


[Troubleshoot NPSP Data Importer Errors](https://www.sforgdocs.com/npspdocs/en-gb/product_docs/ngo/npsp/import_data/process_finalize_import/troubleshoot_di_records_npsp/topics/npsp-en-gb-troubleshoot-data-importer-errors)

# 概要

ギフト入力でデータを入力したり、データインポートウィザードとNPSPデータインポーターを使用してスプレッドシートをインポートしたりすると、エラーが発生する可能性があります。一部の必要なデータが欠落している、データが不適切にフォーマットされている、または組織にカスタマイズがあり、インポートが正常に処理されない可能性があります。あなたとあなたのスタッフの最善の努力にもかかわらず、あなたのデータのインポートまたはデータ入力は時々失敗する可能性があります。

注意 : [データのクリーンアップと、データのクリーンアップとフォーマット](https://powerofus.force.com/s/article/NPSP-Clean-and-Format-Your-Data) でインポートするスプレッドシートの準備の詳細をご覧ください。

データインポートエラーは、次の場合に発生します。

+ NPSPはNPSPデータインポートレコードを作成できません。 データインポートウィザードを使用してデータをNPSPデータインポートオブジェクトにインポートすると、Salesforceからの一括データロードジョブの結果ファイルとエラー通知メールにこれらのエラーが表示されます。詳細については、「バルクデータロードジョブ」ページから結果ファイルを開くを参照してください。ギフトエントリーを使用する場合、エラーは画面上でユーザーに報告されます。
+ NPSP Data Importerは、ターゲットレコード（アカウント、連絡先など）を作成または更新できません。NPSPは、これらのエラーをNPSPデータインポートレコードとしての[ステータス]フィールドと[失敗の理由]フィールドにキャプチャします。NPSPデータインポータープロセスも部分的に失敗する可能性があります。つまり、すべてではありませんが、一部のNPSPレコードが作成されます。詳細については、失敗したNPSPデータインポートレコードの表示を参照してください。

# エラー例

障害が発生する理由はたくさんあります。エラーの例とその原因を見てみましょう。

| 原因 | エラー結果 | エラーの場所 |エラーメッセージの例 |
|:-------------|:----------------|:-----------------|:-----------------|
|NPSPデータインポートオブジェクトの検証ルール|SalesforceはNPSPデータインポートレコードを作成できませんでした|一括データロードジョブ（データインポートウィザードを使用する場合）|FIELD_CUSTOM_VALIDATION_EXCEPTION, You must have a Mobile Phone for all Contacts processed through NPSP Data Import.: []|
|NPSPデータインポートオブジェクトの必須カスタムフィールド|SalesforceはNPSPデータインポートレコードを作成できませんでした|一括データロードジョブ（データインポートウィザードを使用する場合）|REQUIRED_FIELD_MISSING, Required fields are missing: [External Batch Number]: [External Batch Number]|
|NPSPデータインポートオブジェクトの必須フィールドまたは検証ルール|SalesforceはNPSPデータインポートレコードを作成できませんでした|ギフトエントリーを使用する場合の画面|,"DMLErrorFieldNameMapping":}||Id not specified in an update call|
|不適切にフォーマットされたメールアドレス|SalesforceはNPSPデータインポートレコードを作成できませんでした|一括データロードジョブ（データインポートウィザードを使用する場合）|INVALID_EMAIL_ADDRESS:Contact1 Personal Email: invalid email address: importtest.org:npsp__Contact1_Personal_Email__c --|
|寄付金額に含まれる通貨記号|SalesforceはNPSPデータインポートレコードを作成できませんでした|一括データロードジョブ（データインポートウィザードを使用する場合）|INVALID_FIELD:Failed to deserialize field at col 8. Due to, '$225.00' is not valid for the type xsd:double:npsp__Donation_Amount__c --|
|不適切にフォーマットされた寄付日|SalesforceはNPSPデータインポートレコードを作成できませんでした|一括データロードジョブ（データインポートウィザードを使用する場合）|INVALID_FIELD:Failed to deserialize field at col 9. Due to, 'Jan 1st 2021' is not a valid value for the type xsd:date:npsp__Donation_Date__c --|
|インポートされたContact1のIDが無効です|SalesforceはNPSPデータインポートレコードを作成できませんでした|一括データロードジョブ（データインポートウィザードを使用する場合）|MALFORMED_ID:Contact1 Imported: id value of incorrect type: 0034u00002XHNRLXXX:npsp__Contact1Imported__c --|
|連絡先1の名前がありません|Salesforceは連絡先レコードを作成できませんでした|NPSPデータインポートレコード|You must specify Last Name.|
|Opportunityオブジェクトにトリガーを挿入する前|SalesforceはOpportunityandPaymentレコードを作成できませんでした|NPSPデータインポートレコード|npsp.TDTM_Opportunity: execution of AfterInsert caused by: System.DmlException: Insert failed. First exception on row 0; first error: CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY, oppProcesses: execution of AfterUpdate caused by: System.FinalException: Record is read-only (): [] (npsp)|
|Paymentオブジェクトの必須カスタムフィールド|Salesforceは支払いレコードを作成できませんでした|NPSPデータインポートレコード（またはギフト入力を使用する場合は画面上）|Required fields are missing:custom_phone|

# データインポートウィザードのエラーの表示

データインポートウィザードを使用してデータをNPSPにインポートすると、Salesforceからの一括データロードジョブの結果ファイルとエラー通知メールにエラーがキャプチャされます。

詳細については、「バルクデータロードジョブの詳細の表示」および「バルクデータロードジョブ」ページから結果ファイルを開いてください。

# 失敗したNPSPデータインポートレコードの表示

## 失敗したNPSPデータインポートレコードレポートを作成してサブスクライブする

NPSPデータインポートレコードを個別にリストビューで表示できますが、失敗したNPSPデータインポートレコードがある場合にNPSPから通知を受信するための組み込みの方法はありません。通知を受け取るには、カスタムレポートを作成してサブスクライブします。

1. [レポート]タブをクリックします。
2. [新しいレポート]をクリックします。
3. NPSPデータインポートを検索して選択します。
4. [続行]をクリックします。
5. [フィルター]をクリックします。
6. [表示]をクリックし、[すべてのnpspデータのインポート]を選択して、 [適用]をクリックします。
7. [フィルターの追加]で、[ステータス]を検索して選択します。
8. [失敗]を選択し、[適用]をクリックします。
9. [アウトライン]をクリックします。
10. [追加]列で、[障害情報]を検索して選択します。
11. レポートに含める列を追加します。
12. [保存して実行]をクリックします。
13. などのレポート名を入力しFailed Data Importsます。
14. レポートを保存するフォルダを選択し、[保存]をクリックします。
15. [編集]の横にある矢印をクリックして、[購読]を選択します。
16. 頻度（毎日をお勧めします）と時間を選択します。
17. レポートを保存します。

選択した頻度に応じて、Salesforceはレポートの概要とレポートを表示するためのリンクを記載した電子メールを送信します。

## 失敗したNPSPデータインポートレコードの分析

失敗したNPSPデータインポートレコードを詳しく見てみましょう。この例では、Paymentオブジェクトの検証ルールにより、NPSPDataImporterが1つ以上のレコードを作成または更新できませんでした。しかし、どのレコードをどのように見分けることができますか？

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/aa5bc0d4-44ad-dc10-d619-8fda647c95ad.png)


NPSPデータインポートレコード内に、NPSPデータインポーターが作成または更新しようとした各レコードの[インポート済み]フィールドと[インポートステータス]フィールドが表示されます。NPSP Data Importerがレコードを作成または更新できない場合、[インポート]フィールドは空白になり、[インポートステータス]に何が起こったかが示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/359baf41-64fb-b8d7-1e62-c0afe8494057.png)


[インポート済み]フィールドと[インポートステータス]フィールドを見て、NPSPデータインポーターが正常に処理したレコードを理解しましょう。

|フィールド名|フィールドデータ|結果|
|:----------|:-------------|:-------|
|Contact1インポート|ドナーの名前|成功-NPSPはドナーの連絡先レコードを作成しました。|
|Contact1インポートステータス|作成した|成功-NPSPはドナーの連絡先レコードを作成しました。|
|インポートされた世帯アカウント|ドナーの世帯名|成功-NPSPはドナーの世帯口座を作成しました。|
|インポートされた寄付|寄付名|成功-NPSPは寄付の機会の記録を作成しました。|
|寄付のインポートステータス|作成した|成功-NPSPは寄付の機会の記録を作成しました。|
|インポートされた支払い|空欄|失敗-NPSPは寄付の支払いレコードを作成できませんでした。|
|支払いのインポートステータス|バッチ番号がありません|失敗-NPSPは寄付の支払いレコードを作成できませんでした。|

このフィールドデータから、ドナーの連絡先、世帯口座、および商談のレコードが作成されたが、支払いレコードは作成されていないことがわかります。

## 失敗したNPSPデータのインポートを解決する

この例では、 Gift Entryの使用時またはデータのインポート中に検証ルールが実行されないように、検証ルールを無効化または調整することで問題を解決できます。詳細については、検証ルールの管理を参照してください。

重要 ： 検証ルールによってNPSPデータインポーターの正常な処理が妨げられなくなったら、以前に失敗したNPSPデータインポートレコードを再処理する必要があります。

失敗したNPSPデータインポートレコードを再処理するには：
1. App Launcherを開き、[ NPSPデータのインポート]をクリックします。
2. 失敗したデータのインポートリストビューを選択します。
3. [データインポートの開始]をクリックします。 
注意: データインポートの開始は、失敗したすべてのデータインポートレコードを再処理します。
4. データインポートプロセスの開始]をクリックします。
5. データのインポートプロセスが完了すると、処理、インポート、失敗したレコードの数などの結果が表示されます。[閉じる]をクリックして、[NPSPデータのインポート]タブに戻ります。