本記事では、ソアスクの納品データをViewFramer・D3Workerを経由してマネーフォワードクラウド債権管理へ登録する方法をご紹介します。
マネーフォワードクラウド債権管理の詳細はこちら
目次
本記事は内容量が多いため、目次に細かい階層を用意しています。
事前準備
カスタム項目の作成
ViewFramerでレコードを抽出する条件として使用するため、納品・請求明細リレーションオブジェクトに以下のカスタム項目を作成します。
どちらもデータ型は数式(テキスト)です。ページレイアウトに追加する必要はありません。
納品・請求明細リレーションオブジェクト
「納品ID」項目(API参照名:OutboundDeliveryId__c)
CASESAFEID(appsfs__fs_Delivery_Detail__r.appsfs__fs_OutboundDelivery__c)
「請求ID」項目(API参照名:BillingId__c)
CASESAFEID(appsfs__fs_Bill_Detail__r.appsfs__fs_Billing__c)
納品データ
請求済みの納品データを使用してください。
納品明細レコードの以下の項目値を、マネーフォワードクラウド債権管理との連携で使用します。
納品明細レコードの項目名 |
対応する請求/得意先データのパラメータ |
---|---|
マネーフォワード クラウド債権管理の請求データのための項目 | |
納品.請求先.取引先番号 | 得意先コード |
請求明細.請求.請求書発行日 | 請求日 |
金額 + 税額 | 請求金額 |
請求明細.請求.支払期日 | 入金予定日 |
納品.部門.債権管理連携ID | 請求部門 |
計上日 | 売上日 |
請求明細.請求.請求番号 | 請求書番号 |
請求明細.請求.請求締日 | 請求締日 |
納品.主担当者.債権管理連携ID | 担当者 |
任意の項目 | 備考 |
任意の項目 | 備考 |
任意の項目 | 備考 |
任意の項目 | 備考 |
マネーフォワード クラウド債権管理の得意先データのための項目 | |
納品.請求先.取引先番号 | 得意先コード |
納品.請求先.取引先名 | 得意先名 |
納品.請求先.取引先名カナ | 得意先名カナ |
納品.請求先.手数料負担区分 | 手数料負担区分 |
納品.請求先.請求先:締日 | 締日 |
納品.請求先.回収方式 | 回収方法 |
納品.請求先.請求先:支払月 | 回収予定(月) |
納品.請求先.請求先:支払日 | 回収予定(日) |
- | 回収予定(都度請求) |
請求先.主担当者.債権管理連携ID | 営業担当者 |
任意の項目 | 備考 |
※「任意の項目」もしくは「-」と記載されている項目以外は連携において必須の項目ですので、値が入っていることを確認した上でマネーフォワード クラウド債権管理にデータを連携してください。
※請求先(取引先)や部門、主担当者(要員マスタ)の情報は、マネーフォワード クラウド債権管理に登録されている得意先マスタ、請求部門マスタ、営業担当者マスタと同じものを入力してください。
※請求締日が請求日より前の日付であったり、入金予定日が請求締日より前の日付であった場合、マネーフォワード クラウド債権管理にデータを連携する際にエラーとなります。ご注意ください。
請求取込パターン
上の表の「マネーフォワード クラウド債権管理の請求データのための項目」のカラム順でCSVデータがマネーフォワードクラウド債権管理に連携されます。
これに合わせてマネーフォワードクラウド債権管理の請求フリーインポーターの取込設定でパターンを設定してください。(そのパターンNo.をD3Workerのサービス設定6.の[請求取込パターン]で指定します)
また、パターンでは「取込開始行」は1に、「最終行を取込処理しない」と「得意先マスターを自動生成する」はオフに設定してください。
得意先取込パターン
上の表の「マネーフォワード クラウド債権管理の得意先データのための項目」のカラム順でCSVデータがマネーフォワードクラウド債権管理に連携されます。
これに合わせてマネーフォワードクラウド債権管理の得意先マスターの取込設定でパターンを設定してください。
(そのパターンNo.をD3Workerのサービス設定6.の[得意先取込パターン]に指定します)
また、パターンでは「取込開始行」は1に、「最終行を取込処理しない」はオフに設定してください。
D3Workerの設定①
ここでは、マネーフォワード クラウド債権管理の請求データとしてソアスクの納品明細データを送るための設定をします。
サービスの設定
「ダミー文書」サービス と「マネーフォワードクラウド債権管理 請求データ登録」サービスを使用します。
「ダミー文書」サービス
設定方法については、以下の記事をご参照ください。
「マネーフォワードクラウド債権管理 請求データ登録」サービス
以下の手順でサービスを設定します。
- D3Workerへログインします。
- ログイン後、「サービス」タブを選択します。
- サービスを定義するため、「新規作成」を選択します。
- サービスタイプの選択にて「マネーフォワードクラウド債権管理 請求データ登録」を選択します。
※ご利用中のD3Workerテナントで当サービスが存在しない場合、オプロサポートにお問合せください。
- サービスの名称(作成した全サービス内で一意のもの)とメモ(任意)を入力します。
- マネーフォワードクラウド債権管理のAPIエンドポイントURL、アクセストークン、請求取込パターンNo.(事前準備で指定済みのもの)、得意先取込パターンNo.(事前準備で指定済みのもの)を入力し、「接続の確認」をクリックします。
「接続に成功しました」と表示されたら、接続情報の入力は完了です。
- 画面を下にスクロールして、「請求データ登録後に実行するワーク」の情報を入力します。
ここでの「請求データ登録後に実行するワーク」は、マネーフォワード クラウド債権管理への連携が成功した納品明細レコードの債権連携に関するフラグの値を更新するワークを指します。
「フィールド値」の横の+ボタンをクリックして行を2つ用意し、それぞれに「納品明細ID」「連携日時」と入力します。
以上の作業が終わったら、サービスを保存します。
エンベロープの設定
エンベロープの名称とメモを入力し、お好みで属性を指定したら、文書化サービスに「ダミー文書」を基に作成したサービスを、配送サービスに「マネーフォワードクラウド債権管理 請求データ登録」を基に作成したサービスを指定します。
・文書化サービス
・配送サービス
「マネーフォワードクラウド債権管理 請求データ登録」を基に作成したサービスを選択したら、「エンベロープパラメータの一括設定」をクリックして各項目のエンベロープパラメータを作成します。
画面を下にスクロールして、「請求データ登録後に実行するワーク」の情報を入力します。
ここでは、実行するワークに「納品明細の債権管理フラグを更新する」を、フィールド値に {納品明細ID}、{連携日時} の2つのエンベロープパラメータを使用します。
ワークの設定
「基本」タブで名称とメモを入力したら、「エンベロープ」タブに移動します。
「エンベロープパラメータからデータソースを構築」をクリックすることで、エンベロープパラメータに対応するデータソースのフィールドが自動で生成され、それらがエンベロープパラメータの値として挿入されます。
以下のデータソースが作成されます。
再度「エンベロープ」タブに移動して、エンベロープフィールドに「納品明細ID」を指定します。
以上の設定が済んだら、ワークを保存します。
※エンベロープの文書化サービスはダミー文書サービスを基に作成されているので、「文書とデータのマッピング」タブでの設定事項はありません。
D3Workerの設定②
設定①に続き、ここではマネーフォワード クラウド債権管理の請求データとして登録できた納品明細について、債権管理連携に関わる項目の値を書き換えるための設定を行います。
サービスの設定
「ダミー文書」サービス と「Salesforce Files [配送]」サービスを使用します。
「ダミー文書」サービス
D3Workerの設定①で作成したサービスをそのまま使用するため、ここでの作業は不要です。
「Salesforce Files [配送] 」サービス
設定方法については、以下の記事をご参照ください。
マネーフォワードクラウド債権管理連携に関する納品明細レコードの項目を更新するための設定をします。
オブジェクトのAPI参照名には「納品明細」オブジェクトのAPI参照名「appsfs__OutboundDeliveryDetail__c」を、項目のAPI参照名には「債権管理連携済み」項目のAPI参照名「appsfs__fs_ReceivablesManagementCooperated__c」と「債権管理連携日時」項目のAPI参照名「appsfs__fs_ReceivablesManagementCooperationDate__c」を入力します。
エンベロープの設定
エンベロープの名称とメモを入力し、お好みで属性を指定したら、文書化サービスに「ダミー文書」を基に作成したサービスを、配送サービスに「Salesforce Files [配送] 」を基に作成したサービスを指定します。
・文書化サービス
・配送サービス
「Salesforce Files [配送] 」を基に作成したサービスを指定したら、赤枠で囲んだ部分を入力します。
「{納品明細ID}」「{連携日時}」「true」については、文字を変えずにこの通り入力してください。
ワークの設定
「基本」タブで名称とメモを入力します。
ここでは、名称は「納品明細の債権管理フラグを更新する」とします。
※名称は、1つ目のエンベロープ設定で「実行するワーク」として入力した値と同じにしてください。
名称とメモを入力したら、「エンベロープ」タブに移動します。
1つ目のワーク同様「エンベロープパラメータからデータソースを構築」をクリックして、データソースのフィールドを自動作成します。
以下のデータソースが作成されます。
再度「エンベロープ」タブに移動して、エンベロープフィールドに「納品明細ID」を指定します。
以上の設定が済んだら、ワークを保存します。
※エンベロープの文書化サービスはダミー文書サービスを基に作成されているので、「文書とデータのマッピング」タブでの設定事項はありません。
ViewFramerの設定
ここでは大まかな設定方法のみ紹介します。
D3Workerと連携するためのViewFramerの設定の詳細については、こちらの記事をご参照ください。
ビューの作成
使用するオブジェクトのリレーション設定は以下です。
以下の項目を出力項目とします。
「項目」の「項目ビルダー」をクリックしたときに表示される内容と、「出力項目名」の対応は以下です。
「項目ビルダー」をクリックしたときに表示される内容 |
出力項目名 |
---|---|
Sector.appsfs__fs_ReceivablesManagementCooperationId__c | 請求部門コード |
Account.AccountNumber | 得意先コード |
Account.Name | 得意先名 |
Account.appsfs__fs_AccountNameKana__c | 得意先名カナ |
Account.appsfs__fs_FeeBurdenClass__c | 得意先/手数料負担区分コード |
Account.appsfs__fs_CollectionType__c | 得意先/回収区分コード |
FORMAT_NUMBER(Account.appsfs__fs_PaymentMonth__c,'0') | 得意先/回収予定(月) |
IF(FORMAT_NUMBER(Account.appsfs__fs_PaymentDay__c,'#,##0')='0' ,'99', FORMAT_NUMBER(Account.appsfs__fs_PaymentDay__c,'#,##0')) | 得意先/回収予定(日) |
IF(FORMAT_NUMBER( Account.appsfs__fs_CloseDay__c ,'#,##0')='0' ,'99', FORMAT_NUMBER(Account.appsfs__fs_CloseDay__c,'#,##0')) | 得意先/締日 |
FORMAT_DATE(OutboundDeliveryDetail.appsfs__fs_RecordDate__c,'yyyy/MM/dd') | 請求/売上日 |
FORMAT_NUMBER( OutboundDeliveryDetail.appsfs__fs_Amount__c + OutboundDeliveryDetail.appsfs__fs_Tax__c, '0' ) | 請求金額 |
FORMAT_DATE(NOW(),'yyyy-MM-dd HH:mm:ss') | 連携日時 |
MainOwner.appsfs__fs_ReceivablesManagementCooperationId__c | 得意先/営業担当者コード |
FORMAT_DATE( Billing.appsfs__fs_CloseDate__c , 'yyyy/MM/dd') | 請求締日 |
Billing.Name | 請求書番号 |
FORMAT_DATE(Billing.appsfs__fs_PaymentDate__c, 'yyyy/MM/dd') | 請求/入金予定日 |
OutboundDeliveryDetail.Id | 納品明細ID |
FORMAT_DATE(Billing.appsfs__fs_BillDate__c, 'yyyy/MM/dd') | 請求日 |
'' | 得意先/回収予定(都度請求) |
MainOwner.appsfs__fs_ReceivablesManagementCooperationId__c | 請求/担当者コード |
'' | 得意先/備考 |
'' | 請求/備考1 |
'' | 請求/備考2 |
'' | 請求/備考3 |
'' | 請求/備考4 |
後の設定のため、ビューの「出力項目名」は、ワークのデータソースフィールド名と同じにしてください。
- 親納品の「請求済み」にチェックが付いており
- 「 債権管理連携済み」がOFFであり
- 「 債権管理連携日時」が空である
納品明細に限りマネーフォワード クラウド債権管理にデータを連携する設定にするため、出力条件を以下のように設定します。
※「パラメーター」の
- OutboundDeliveryIds
- BillingAccountIds
は、ViewFramerがレコードを効率的に取得するためのパラメーターになります。
マッピングの作成
ここでは、ビューをD3Workerのワークに紐づけます。
帳票タイプに「一覧型」を選択し、「取得」をクリックします。
最大件数には500000を指定します。
以上が済んだら「次へ」をクリックします。
「D3Worker」タブをクリックし、「URL」に以下のURLを入力したら、作成したワークを選択します。
https://d3w.ap.oproarts.com/d3w/api/{お客様用テナント}/
選択したワークのデータソースにビューの項目を対応させたら、「配備」をクリックしてマッピングを使用可能な状態にします。
「自動マッピング」をクリックすることで、ワークのデータソースフィールドにビューの出力項目が自動で対応付けられます。
※「自動マッピング」をするためにはビューの出力項目名とワークのデータソースフィールド名を同じにする必要があります。
請求データ登録ボタンの設置
請求データをマネーフォワード クラウド債権管理に登録するためのアクションボタンを作成します。
本記事最下部に添付されているVisualforceページ雛形をダウンロードし、
mappingNm:'マッピング名',
の「マッピング名」を作成したマッピング名(この記事で言うと「MFCloud」)で置き換えたVisualforceページを作成します。
編集したVisualforceページを基にリストボタンを作成し、納品オブジェクトのリストビューに設置してください。
納品レコードのリストビューで対象レコードにチェックを入れ、作成したボタンをクリックすると、、、
マネーフォワードクラウド債権管理に請求データが登録されました。
納品明細レコードの「債権管理連携済み」項目、「債権管理連携日時」項目も更新されています。
注意点
- 上の画像では納品レコードは1件のみでしたが、リストビューで複数の納品にチェックを入れればチェックを入れた全ての納品について納品明細データの連携が行われます。
- 「請求済」がオンである納品に紐づく、「債権管理連携済み」がオフかつ「債権管理連携日時」が空である納品明細のみがマネーフォワード クラウド債権管理へ連携されます。
- 登録後は「債権管理連携済み」がオンに、「債権管理連携日時」がViewFramerへリクエストした日時に更新されるため、同じ納品明細データを再度連携してしまうことを防ぐことができます。