たしかに『財務会計用語』に対して "アレルギー反応" を示すプログラマは少なくない。
しかし、社会人なら是非とも知っておきたい単語だ。基本的なITスキルを問う『情報処理技術者試験』ですら、頻出の用語となっている。もっとも「かりかた・かしかた」という、似たような訳語を当てた福沢諭吉の罪も、それなりに悪い。。。
ちなみに実務上は「左列・右列」と呼んでも何ら問題ない。どちらの列も、単に「資産内訳表」に過ぎない。どうしても具体的に言いたければ、「左列:現金資産と現金的資産の内訳」、「右列:返す必要がある資産(借金)と返す必要が無い資産の内訳」と考えれば十分だ。
では、、、クラウドサービス提供会社が
- 12か月分のクラウド利用権を販売した
- 12万円で4月1日に一年契約した
- 5月30日に入金される
たとえば、、、
4月には、(まだ何も入金されてないものの)、すでにサービスを提供している訳で、「1か月分(1万円)の資産は増えている」とみなすことができる。「ツケで売る」とか「掛け売り」とか言われる(売掛金)。そして5月以降も毎月変化していく。。。
[販売報告プロセス]
結論を言えば、左右それぞれの増加減少は、以下の通りとなる。
04-01 売掛金:+1万円 / 売上高:+1万円
05-01 売掛金:+1万円 / 売上高:+1万円
05-30 普通預金:+12万円 売掛金:-2万円 / 前受金:+10万円
06-01 (現金的資産かわらず) / 売上高:+1万円、前受金:-1万円
07-01 (現金的資産かわらず) / 売上高:+1万円、前受金:-1万円
08-01 (現金的資産かわらず) / 売上高:+1万円、前受金:-1万円
09-01 (現金的資産かわらず) / 売上高:+1万円、前受金:-1万円
10-01 (現金的資産かわらず) / 売上高:+1万円、前受金:-1万円
11-01 (現金的資産かわらず) / 売上高:+1万円、前受金:-1万円
12-01 (現金的資産かわらず) / 売上高:+1万円、前受金:-1万円
01-01 (現金的資産かわらず) / 売上高:+1万円、前受金:-1万円
02-01 (現金的資産かわらず) / 売上高:+1万円、前受金:-1万円
03-01 (現金的資産かわらず) / 売上高:+1万円、前受金:-1万円
見れば明らかなように、6月以降は「右列:借金と借金以外の資産内訳」が変わっていくだけだ。「前受金」とは「前もって預かるお金」という意味で借金扱いとなる。
経理部門では、これら13の処理を、13枚の「伝票」を作って管理しているのだ。(紙じゃないけど)
ここで紹介するワークフローは、セールスチームによる「1.販売報告工程」が完了後に、これらの伝票が自動生成される仕組みだ。経理による「2.記帳工程」において、すでに伝票が作られた状態となっている。
[販売報告プロセス:「2.記帳する」画面]
▼スクリプト工程『伝票自動生成』の設定サンプル (サーバサイド JavaScript)
//// == ワークフローデータの参照 / Retrieving == //var recordDate = data.get("0"); // 請求日 "2016-03-01" var cashinDate = data.get("1"); // 入金予定日 var salesVolume = data.get("2") - 0; // 請求金額 var recordTitle = data.get("5") + ""; // 契約タイトル var sMonth = data.get("3"); // 開始月(日付) "2016-03-01" sMonth = sMonth.getFirstTimeInMonth(); var sMonthStr = data.get("3") + ""; // 開始月(日付) "2016-03-01" var eMonthStr = data.get("4") + ""; // 終了月(日付) "2016-03-01" //// == 演算 / Calculating == var sMonthYYYY = sMonthStr.substring(0, 4) - 0; var sMonthMM = sMonthStr.substring(5, 7) - 0; var eMonthYYYY = eMonthStr.substring(0, 4) - 0; var eMonthMM = eMonthStr.substring(5, 7) - 0; var numOfMon = (eMonthYYYY - sMonthYYYY) * 12 + eMonthMM - sMonthMM + 1; var monthlySales = salesVolume / numOfMon; var mfRecord = ""; var i=0; var j=0; for (i = 0; i < numOfMon; i++){ var tmpDate = new com.questetra.bpms.util.AddableDate( sMonth.addMonths(i).getTime() ); var tmpDateStr = tmpDate + ""; var monthlyTitle = tmpDateStr.substring(0, 7) + " @ " + recordTitle; if( cashinDate.after(tmpDate) ){ mfRecord += tmpDateStr + "\t売掛金\t\t対象外\t\t"; mfRecord += monthlySales + "\t\t売上高\t\t課税売上 8%\t\t"; mfRecord += monthlySales + "\t\t"; mfRecord += monthlyTitle + "\t\t\t\n"; j = i + 1; } else { mfRecord += tmpDateStr + "\t前受金\t\t対象外\t\t"; mfRecord += monthlySales + "\t\t売上高\t\t課税売上 8%\t\t"; mfRecord += monthlySales + "\t\t"; mfRecord += monthlyTitle + "\t\t\t\n"; } } var kakeCredit = monthlySales * j; var maeukeDeposit = salesVolume - kakeCredit; mfRecord += cashinDate + "\t普通預金\tみずほ銀行\t対象外\t\t"; mfRecord += salesVolume + "\t\t売掛金\t\t対象外\t\t"; mfRecord += kakeCredit + "\t\t"; mfRecord += recordTitle + "\t\t\t未実現\n"; mfRecord += cashinDate + "\t\t\t\t\t"; mfRecord += "0" + "\t\t前受金\t\t対象外\t\t"; mfRecord += maeukeDeposit + "\t\t"; mfRecord += recordTitle + "\t\t\t未実現\n"; //// == ワークフローデータへの代入 / Updating == retVal.put("6", mfRecord );
<データ項目一覧画面>
[雛形ダウンロード (無料)]
- 業務テンプレート:販売報告プロセス
- 不正会計の防止、基本は「自動記録」に尽きる (2015-07-27)
- 請求書発行フローと会計システムの連携 (2015-04-27)
- 未入金の発生! 自動的にエスカレーション! (2014-11-10)
- M230 自動工程: 業務データの複雑なデータ加工が自動実行されるように設定する(ECMAスクリプト) (使い方)
- M401 業務の流れ: 申請と差戻対応の工程を分け “手戻り” をモニタリングしやすいように設定する (使い方)
- M203 業務の流れ: 処理フロー途中に、同時並行処理、単一選択分岐、複数選択分岐を設定する (使い方)
[英文記事 (English Entry) ]
0 件のコメント :
コメントを投稿