Speaking about "Quotation" (Previous article), it roughly would be 1) approval by supervisor, 2) submission to the client, 3) deal confirmation. In its designing,
- "Expertise" such as tax and accounting
- "Systems knowledge" such as data processing or collaboration with other systems
- Devising of mutual supervision (internal control) such as separation of accounting bookkeeping from Receipts and expenditure
Whereas, 'Billing' has its Downstream Steps such as "Bookkeeping of accounts receivable", "confirmation of payment", "storing as evidence". In fact, it varies according to the industry and the business formats of the company, or the accounting policies, or the deployed systems. Even for the starting point and the end point of the business process, state of "To-Be" is different depending on the companies.
The following Workflow is a Business Process that is focused on "After issuing the bill". Although it is the business process that is closed to the Accounting section, it is devised to "reduce the labor of inputting to the Accounting software / Cloud-accounting".
[Bill Issuance - Bookkeeping]
[Bill Issuance - Bookkeeping:'1. Confirmation' screen]
In this Business Process, it is assumed a company in which 'Unearned revenue' occurs often, and the environment such as the method of settlement or the Business Cloud platform are frequently changed. (i.e. A company that is difficult to introduce a core system.)
*- What is 'Unearned revenue?' Although the details should be asked to Accountants, it roughly is that whatever the judgement of taxation or the Aggregation of sales, "the time when handing over of assets or provision of service has occurred" must be the reference.
Specifically, 1) Generation of Bill PDF, 2) submitting by Email or postal, 3) registration of account data, 4) payment confirmation, will follow after throwing the billing data.
Notably, is that the data are processed into the accounting system-friendly format. That is,
- 'Receipt voucher' that indicates of
- 'Journal voucher' that indicates the transfer the 'Unearned revenue' to 'Earned revenue'
[Issuance Date processing] screen
[Title set] screen
[for Bookkeeping] setting screen
[for Bookkeeping] Script sample
// == Retrieving == //mytable : com.questetra.bpms.core.model.formdata.ListArray; var mytable = data.get("13"); // Retrieving Table type Data //startDay : com.questetra.bpms.util.AddableDate; var startDay = data.get("8"); //Bill Issuance Date (date) var charged = data.get("21"); // Retrieving Total Due var company = data.get("4"); // Retrieving Billing Company Name var companyabst = company + " " + mytable.get(0, 0) + ""; // Company Name+Description // == Calculating == var months = mytable.get(0, 1); var remainder = charged % months; // Remainder of division of Total by applied month (1st line, 2nd column) var monthlyCharge = Math.floor( charged / months ); // Division of Total by applied month (1st line, 2nd column) var monthlyCharge2 = monthlyCharge + 1; // == Updating == var formatter1 = new java.text.SimpleDateFormat("yyyy-MM-dd"); var formatter2 = new java.text.SimpleDateFormat("GGGGyyyy-MM", new java.util.Locale("ja", "JP", "JP")); var bookkeepingText = ""; // 「2015-04-01, Sales, Kyoto Univ. Inc. Website Operation, 10000, 0」 // 「2015-04-01, Cash, Kyoto Univ. Inc. Website Operation, 10000, 0」 // // 「2015-04-30, A/R, Kyoto Univ. Inc. Website Operation, 10000, 0」 // 「2015-05-31, Cash, Kyoto Univ. Inc. Website Operation, 10000, 0」 bookkeepingText += formatter1.format(startDay); bookkeepingText += ", Sales, " + companyabst + ", " + charged + ", 0 \n"; bookkeepingText += formatter1.format(startDay); bookkeepingText += ", Cash, " + companyabst + ", " + charged + ", 0 \n\n"; bookkeepingText += formatter1.format(startDay.getLastDateInMonth()); bookkeepingText += ", A/R, " + companyabst + ", " + charged + ", 0 \n"; bookkeepingText += formatter1.format(startDay.addMonths(1).getLastDateInMonth()); bookkeepingText += ", Cash, " + companyabst + ", " + charged + ", 0 \n"; retVal.put("27", bookkeepingText ); // ●Lump-sum payment● Date, Accounts title , Description, Receipt, Payment bookkeepingText = ""; // 「2015-04-01, Unearned revenue, Kyoto Univ. Inc. Website Operation, 10000, 0」 // 「2015-04-01, Unearned revenue, Kyoto Univ. Inc. Website Operation April, 2015, 0, 3334」 // 「2015-04-01, Sales, Kyoto Univ. Inc. Website Operation April, 2015, 3334, 0」 // 「2015-05-01, Unearned revenue, Kyoto Univ. Inc. Website Operation May, 2015, 0, 3333」 // 「2015-05-01, Sales, Kyoto Univ. Inc. Website Operation Masy, 2015, 3333, 0」 // 「2015-06-01, Unearned revenue, Kyoto Univ. Inc. Website Operation June, 2015, 0, 3333」 // 「2015-06-01, Sales, Kyoto Univ. Inc. Website Operation June, 2015, 3333, 0」 bookkeepingText += formatter1.format(startDay); bookkeepingText += ", Unearned revenue, " + companyabst + ", " + charged + ", 0 \n"; var i=0; for (i=0; i<months; i++){ if (i<remainder){ bookkeepingText += formatter1.format(startDay.addMonths(i).getLastDateInMonth()); bookkeepingText += ", Unearned revenue, " + companyabst + " "; bookkeepingText += formatter2.format(startDay.addMonths(i)); bookkeepingText += ", 0, " + monthlyCharge2 + " \n"; bookkeepingText += formatter1.format(startDay.addMonths(i).getLastDateInMonth()); bookkeepingText += ", Sales, " + companyabst + " "; bookkeepingText += formatter2.format(startDay.addMonths(i)); bookkeepingText += ", " + monthlyCharge2 + ",0 \n"; }else{ bookkeepingText += formatter1.format(startDay.addMonths(i).getLastDateInMonth()); bookkeepingText += ", Unearned revenue, " + companyabst + " "; bookkeepingText += formatter2.format(startDay.addMonths(i)); bookkeepingText += ", 0, " + monthlyCharge + " \n"; bookkeepingText += formatter1.format(startDay.addMonths(i).getLastDateInMonth()); bookkeepingText += ", Sales, " + companyabst + " "; bookkeepingText += formatter2.format(startDay.addMonths(i)); bookkeepingText += ", " + monthlyCharge + ",0 \n"; } } retVal.put("28", bookkeepingText ); // ●Journal Entry● Date, Accounts title , Description, Debitor, Creditor
[Data Items List]
[Free Download]
- Business Template: Bill Issuance - Bookkeeping
- Non-payment! Automatically Escalation! (2014-11-10)
- Setting the Title of Issues with Auto-processing Script (2014-07-22)
- Upstream Process of Entering the Client Name, the Template (2014-07-14)
- M227 AUTOMATED STEP: Auto Executing Data Binding, Arithmetic Operations
- M230 AUTOMATED STEP: Auto Executing Complicated Data Processing (ECMAScript)
- M221 AUTO START: Auto Starting Triggered by HTTP Request
[Japanese Entry (εζθ¨δΊ)]