-
Sales Cloudで入金消込をしたい
- 2020年11月27日
- Salesforce
Sales Cloudで入金消込を実装した話になります。
今回はカスタムオブジェクトとApexでのトリガ処理、カスタムボタンを用いて実装しました。
入金消込とは債権に対して顧客からの入金がされたかどうかをチェックする経理業務の作業となります。
■実装前の環境は下記の様になっていました。
- 請求オブジェクト(カスタムオブジェクト)
- 入金オブジェクト(カスタムオブジェクト)
請求が発生したら請求オブジェクトのレコードが、Apexスケジューラで作成されます。
入金が発生したら入金オブジェクトのレコードを作成します。
(弥生会計のエクスポートファイルをインポートウィザードでインポートする運用となっています)
■実装後の環境は下記の様になりました。
請求オブジェクトの項目はこちらです(必要箇所以外は省略)
- 請求先コード(参照)
- 請求金額(通貨)
- 消込済金額(通貨)←今回追加しました
- 未消込金額(数式:未消込金額 = 入金額 – 消込済金額)←今回追加しました
- 消込ステータス(選択:未消込、消込)←今回追加しました
入金オブジェクトの項目はこちらです(必要箇所以外は省略)
- 入金額(通貨)
- 消込済金額(通貨)←今回追加しました
- 未消込金額(数式:未消込金額 = 入金額 – 消込済金額)←今回追加しました
- 消込ステータス(選択:未消込、消込)←今回追加しました
今回新たに作成した消込用請求リストオブジェクトの項目はこちらです(必要箇所以外は省略)
- 入金コード(主従)
※主は入金オブジェクトとなります - 請求先コード(参照)
- 請求コード(参照)
※ルックアップ検索条件に消込用請求リスト.請求先コード = 請求オブジェクト.請求コードを追加しました - 消込金額(通貨)
■運用フローは下記になります。
<消込用請求リストを作成します>
1.請求先コードを選択します
2.請求コードを選択します
(1で選択した請求コードをもつ請求レコードの中から選択することになります)
3.保存します
★保存時のトリガ処理は下記が行われます。
- 親の入金レコードの未消込金額を取得します(取得値をAとします)
- 選択した請求レコードの未消込金額を取得します(取得値をBとします)
A <= Bとなる場合には・・・
消込金額はAとなります。
A > Bとなる場合には・・・
消込金額はBとなります。
- 消込用請求レコードの消込金額を上記の消込金額にします
- 請求レコードの消込済金額を上記の消込金額で加算します
- 入金レコードの消込済金額を上記の消込金額で加算します
<消込ボタンを押下します>
1.入金オブジェクトのリストビューに設置した消込ボタンを押下します
★押下時の処理は下記が行われます。
- 入金レコードの消込ステータスが”未消込”かつ入金レコードの未消込金額が0円のレコードのみ処理継続します
- 入金レコードの消込ステータスを”消込済”に更新します
- 請求レコードの未消込金額が0円の場合は請求レコードの消込ステータスを”消込済”に更新します
[今回のポイント]
入金(単数)⇔請求(単数)
だけではなく
入金(単数)⇔請求(複数)・・・複数の請求をまとめて入金するケース
入金(複数)⇔請求(単数)・・・1回の請求を分割して入金するケース
の場合にも対応できるように、間にオブジェクト(消込用請求リストオブジェクト)を入れたところです。
この記事を書いた人 : 大石通也
AWS bluebird css CSV docker docker compose electron ES6 es2015 Git Heroku ITコンサルティング JavaScript justinmind less mongoDB Node.js php PostgreSQL Private Space Promise React react-router reactjs Salesforce scss Selenium Builder selenium IDE Selenium WebDriver stylus TypeScript VirtualBox VisualStudioCode vue vuejs webpack システム開発プロジェクト セキュリティ ワイヤーフレーム 上流工程 卒FIT 帳票 要件定義 設計 電力小売業界