(→Todo) |
|||
(289 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
==Introduction== | ==Introduction== | ||
This Customisation is for simple calculation for the management property which normally monthly charge Maintenance, Sinking Fund & etc. | {| width="90%" | ||
|- | |||
| This Customisation is for simple calculation for the management property which normally monthly charge Maintenance, Sinking Fund & etc. | |||
||[[File:QR_Recurring.jpg|150px|center]] | |||
|} | |||
Last | [https://download.sql.com.my/customer/Fairy/ACC%20BK-%5BRecurring%5D.zip Sample Database] | ||
===History New/Updates/Changes=== | |||
Coming Soon... | |||
* Add Use Full Age Option for Late Charge Qty in Customer Due Listing. | |||
* Enable Save Setting for Customer Due Listing using Note Field for ItemCode OVERDUE. | |||
* Enable Recurring without Filter by Company Category | |||
* Add 0Sales Debit Note 9-Late Charges format. | |||
* Add 0Sales Invoice 8 (SST 2)-Aging-Recurring-Maintenance format. | |||
* Add 0Sales Invoice 8 (SST 2)-Aging-Recurring-Meter format. | |||
* Add 0Sales Invoice 8 (SST 2)-Aging-Recurring-Meter-PrcRange format. | |||
* Add 0Sales Invoice 8 (SST 2)-Recurring-Meter-PrcRange format. | |||
* Exclude posting if amount = 0 when generate DN. | |||
11 Aug 2022 | |||
* Add Tick/UnTick All Option for Gen/B In Maintain Customer. | |||
* Fix sometime prompt error when using Price Range. | |||
* Add With 5 Cents Rounding Options for Customer Due Listing. | |||
* Add T.O/S Amt label (Total Outstanding Amount) in Sales Invoice. | |||
* Fixed Header Description for Total Amount Not Correctly Sum when using Price Range. | |||
* Add Prompt for Open Sales Invoice after done Posting. | |||
* Add With 5 Cents Rounding & With DN Options for Customer Payment. | |||
* Add Prompt for Open Sales Debit Note after done Posting. | |||
* Add UDF_LastReading & UDF_CurrReading at Sales Invoice for Price Range use. | |||
* Fixed Error due to system override when using Min Charge only for utilities. | |||
* Fixed Display Format for utilities should be in 4 decimal point | |||
* Enable Optional to use Maintain Customer Agent & Terms when using zProfile code for Agent & Terms | |||
* Fixed SQLAcc auto exit when Click Generate in Lastest SQL Acc Version. | |||
15 Apr 2019 | |||
* Add Option Include Zero Qty for Utilities | |||
* Fixed Unable Recurring For Document Listing after upgrade to 776 | |||
* Fixed Utilities will shown Discount 1 when PriceTag discount is empty | |||
22 Mar 2019 | |||
* Add Process Status on Recurring SQFT in Maintain Customer | |||
* Fixed Min. Charge not working for Lead Time 0 & 1 | |||
28 Jan 2019 | |||
* Move Footer Count to Company Name | |||
* Increase Form width to 1024 | |||
* Remove all Tax Code in Sample Data | |||
* Add Use Doc Tax Code option for Doc Listing | |||
* Allow Multi range price for Utility | |||
04 Oct 2018 | |||
* Fixed Amount not correct if Qty = Min Charge Amt Qty | |||
15 Aug 2018 | |||
* Reduce the Doc & Item Project Length at Customer Payment | |||
* Set to 0 if using both Rebate & Min Charge if below Min Charge amount | |||
11 Jul 2018 | |||
* Allow more then 1 Stock Group for SQFT in Maintain Customer | |||
* Add UDF_UseSQFT in QT Detail - True Qty = UDF_BuildUp(Maintain Customer) | |||
* Add UDF_UseARPrice in QT Detail - True UnitPrice = UDF_UPSQFT(Maintain Customer) | |||
* Add Last Payment Date, Amount & Outstanding Information in Invoice Detail Screen | |||
* Add Document & Item Project selection Posting for Customer Due | |||
15 Feb 2018 | |||
* Generate by SQFT by Customer | |||
* Add Cust Local - Payment Listing (GST 1) - Knock Off Doc No Set - Cross | |||
* Add Sales Customer Price History - ItemCode - Cross | |||
* Allow to change Header Description for DN Overdue | |||
* Set Default TaxRate 0% for Payment DN overdue | |||
21 Mar 2017 | |||
* Change Header Description for Posting DN to ''Late Payment Charges for'' | |||
25 Jan 2017 | |||
* Add Pre-Post DN at Customer Payment. | |||
* Add Sales Document Listing Recurring. | |||
16 Sep 2016 | |||
* Fixed access violation error if No Record Found prompt. | |||
12 Jan 2016 | |||
* Enable GAS Reading | |||
25 Dec 2015 | |||
* Add 0Sales Invoice 7 (GST 2)-Recurring-Maintenance Report | |||
* Add 0Sales Invoice 7 (GST 2)-Recurring-Meter Report | |||
* Enable GAS Reading | |||
* Allow Select Multi DocNo Set for Different Reading | |||
* Fixed bug LeadTime=0 - Will being override by Rebate when is below Min Charge (i.e. will set to 0 if less then Min Charge) | |||
* Fixed Cust Statement 06 Mths 1 Report Not shown Address 1 & take too much space at footer | |||
26 Sep 2015 | |||
* Remove 5 Cent rounding Script & use build in 5 Cent rounding | |||
* Fixed Customise Statement report not follow company profile information | |||
* Set Customer Payment UDF_PostDN Default Value = False | |||
12 Aug 2015 | |||
* Fixed Posting Overdue DN should excluding the GST amount from the calculation | |||
==Know Bugs== | ==Know Bugs== | ||
* | * | ||
<div style="float: right;"> [[#top|[top]]]</div> | |||
==Todo== | ==Todo== | ||
* | * OVERDUE Qty := Qty + LeadTime for AR Payment | ||
* | * Remember last Setting for Document Listing | ||
==Modules Require== | ==Modules Require== | ||
Line 21: | Line 114: | ||
* DIY Script | * DIY Script | ||
* Multiple Pricing (Price Tag) | * Multiple Pricing (Price Tag) | ||
* Multiple Document Number Set (Optional) | * Multiple Document Number Set | ||
==Video== | |||
[https://www.youtube.com/watch?v=DLShuxExZi8&t=27s Recurring Video] | |||
==Settings== | |||
===Maintain User=== | |||
''Menu: Tools | Maintain User...''<br /> | |||
Untick the Access Right for '''Prompt Replace Unit Price Dialog''' under the '''Group : Sales''' | |||
===Maintain Customer=== | |||
''Menu: Customer | Maintain Customer...'' | |||
* Below fields '''MUST''' had Value (minimum is 0 not empty or Null) | |||
: - UDF_WaterReading | |||
: - UDF_ElectricReading | |||
: - UDF_GasReading | |||
: - UDF_IWKReading | |||
: - Price Tag | |||
* Minimum UDF Fields Required | |||
{| class="wikitable" style="margin: 1em auto 1em auto;" | |||
|- | |||
! Name !! Data Type !! Size !! Sub Size !! Caption !! Required !! Default Value !! Display Format | |||
|- | |||
| WaterReading || Float || align="center" | 10 || align="center" | 4 || UDF_WaterReading || False || align="center" | 0 || #,0;-#,0 | |||
|- | |||
| ElectricReading || Float || align="center" | 10 || align="center" | 4 || UDF_ElectricReading || False || align="center" | 0 || #,0;-#,0 | |||
|- | |||
| GasReading || Float || align="center" | 10 || align="center" | 4 || UDF_GasReading || False || align="center" | 0 || #,0;-#,0 | |||
|- | |||
| IWKReading || Float || align="center" | 10 || align="center" | 4 || UDF_IWKReading || False || align="center" | 0 || #,0;-#,0 | |||
|- | |||
| UseARPrice || Boolean || align="center" | || align="center" | || Use Maintain Customer Price || False || align="center" | False || | |||
|- | |||
| UPSQFT || Float || align="center" | 10 || align="center" | 4 || Unit Price/SQFT || False || align="center" | 0 || #,0.00;-#,0.00 | |||
|- | |||
| BuildUp || Float || align="center" | 10 || align="center" | 4 || Build Up (sf) || False || align="center" | 0 || #,0.00;-#,0.00 | |||
|- | |||
| WaterLastDate || Date || || || UDF_WaterLastDate || || || | |||
|- | |||
| ElectricLastDate || Date || || || UDF_ElectricLastDate || || || | |||
|- | |||
| GasLastDate || Date || || || UDF_GasLastDate || || || | |||
|- | |||
| IWKLastDate || Date || || || UDF_IWKLastDate || || || | |||
|} | |||
{| style="margin: 1em auto 1em auto;" | |||
|- | |||
| | |||
---------------------------------------------------------------------------------------------------------------------------------------------------- | |||
{| | |||
|- | |||
| [[File:Template.Tips-01.jpg|60px]]|| | |||
: <span style="color:#0000ff">UseARPrice</span> & <span style="color:#0000ff">UPSQFT</span> is use for Recurring by square feet ('''SQFT''') | |||
: <span style="color:#0000ff">UseARPrice</span> | |||
:: True = the Unit Price is by Customer | |||
:: False = the Unit Price is from Maintain Item Ref Price | |||
: The Item Code List is filter by '''Stock Group Code LIKE''' <span style="color:#0000ff">MAINTENANCE%</span> | |||
|} | |||
---------------------------------------------------------------------------------------------------------------------------------------------------- | |||
|} | |||
<div style="float: right;"> [[#top|[top]]]</div> | |||
===Quotation=== | |||
''Menu: Sales | Quotation...'' | |||
* DocNo Format := CompanyCategoryCode;Type | |||
eg | |||
B-Shop;Main => For Maintenance | |||
B-Shop;Water => For Water Billing | |||
B-Shop;Park => For Car Park | |||
* For Meter Reading (eg Water, Electric & etc), Detail can be empty cause system will auto APPEND the itemcode | |||
{| style="margin: 1em auto 1em auto;" | |||
|- | |||
| | |||
---------------------------------------------------------------------------------------------------------------------------------------------------- | |||
{| | |||
|- | |||
| [[File:Template.Tips-01.jpg|60px]]|| Note: | |||
- Master Description if using | |||
:- 1.Generate Maintenance it will use the Quotation Master Description. | |||
:- 2.Generate Meter Reading (eg Water, Electric & etc), it will shown how much the meter usage | |||
::<span style="color:#0000ff">[Master Description (MMM YYYY) - CurrentReading -PreviousReading=Usage@UnitPrice]</span>. | |||
:- 2.Generate Meter Reading with "Include Grid Detail Info." Option tick it will use the Quotation Master Description. | |||
- UDF_UseSQFT | |||
:- True := Qty = <span style="color:#0000ff">UDF_BuildUp</span> from Maintain Customer | |||
:- False := Qty = <span style="color:#0000ff">Quotation Qty</span> | |||
- UDF_UseARPrice | |||
:- True := UnitPrice = <span style="color:#0000ff">UDF_UPSQFT</span> from Maintain Customer | |||
:- False := UnitPrice = Quotation <span style="color:#0000ff">UnitPrice</span> | |||
|} | |||
---------------------------------------------------------------------------------------------------------------------------------------------------- | |||
|} | |||
====Quotation - SQFT==== | |||
[[File:Recurring-13.jpg|center|800px]] | |||
====Quotation - Utilities - Price Range==== | |||
Below Example is for Price Range Water Reading | |||
[[File:Recurring-12.jpg|center|800px]] | |||
:01. Tick '''Use Price Range''' | |||
:02. Select '''Item Code''' (eg WATER for Water Reading) | |||
:03. Enter the '''Description''' to be shown in Invoice for Each Range | |||
:04. Enter the Range '''UDF_From''' & '''UDF_To''' | |||
:05. Enter the '''Unit Price''' | |||
{| style="margin: 1em auto 1em auto;" | |||
|- | |||
| | |||
---------------------------------------------------------------------------------------------------------------------------------------------------- | |||
{| | |||
|- | |||
| [[File:Template.Tips-01.jpg|60px]]|| | |||
: For Last Range the UDF_To may enter as <span style="color:#0000ff">999999</span> (6 digit of 9 (max)) | |||
|} | |||
---------------------------------------------------------------------------------------------------------------------------------------------------- | |||
|} | |||
* List Field to be copy from Quotation to Invoice | |||
{| class="wikitable" style="margin: 1em auto 1em auto;" | |||
|- | |||
! Master !! Detail | |||
|-style="vertical-align: top;" | |||
| | |||
* DocNoEx | |||
* DocDate | |||
* Terms | |||
* Agent | |||
* Description | |||
* DocRef1 | |||
* DocRef2 | |||
* DocRef3 | |||
* DocRef4 | |||
* Project | |||
* Validity | |||
* DeliveryTerm | |||
* CC | |||
|| | |||
* Number | |||
* ItemCode | |||
* Description | |||
* Description2 | |||
* Description3 | |||
* Remark1 | |||
* Remark2 | |||
* Location | |||
* Project | |||
* DeliveryDate | |||
* Qty | |||
* UOM | |||
* UnitPrice | |||
* Tax | |||
* Disc | |||
|} | |||
* Minimum UDF Fields Required (Header Fields) | |||
{| class="wikitable" style="margin: 1em auto 1em auto;" | |||
|- | |||
! Name !! Data Type !! Caption !! Required !! Default Value | |||
|- | |||
| DocNoSet || Integer || UDF_DocNoSet || False || align="center" | 0 | |||
|- | |||
| Type|| Integer || UDF_Type || False || align="center" | 0 | |||
|- | |||
| IsPrcRange|| Boolean || UDF_IsPrcRange || False || align="center" | False | |||
|- | |||
| IncZero|| Boolean || UDF_IncZero || False || align="center" | False | |||
|} | |||
* Minimum UDF Fields Required (Item Fields) | |||
{| class="wikitable" style="margin: 1em auto 1em auto;" | |||
|- | |||
! Name !! Data Type !! Caption !! Required !! Default Value !! Display Format | |||
|- | |||
| From|| Integer || UDF_From || False || align="center" | 0 || #,0;-#,0 | |||
|- | |||
| To || Integer || UDF_To || False || align="center" | 0 || #,0;-#,0 | |||
|- | |||
| UseSQFT || Boolean || UDF_UseSQFT || False || align="center" | False || | |||
|- | |||
| UseARPrice || Boolean || UDF_UseARPrice || False || align="center" | False || | |||
|} | |||
<div style="float: right;"> [[#top|[top]]]</div> | |||
===Invoice=== | |||
''Menu: Sales | Invoice...'' | |||
* Minimum UDF Fields Required (Items Fields & Headers Fields) | |||
{| class="wikitable" style="margin: 1em auto 1em auto;" | |||
|- | |||
! Name !! Data Type !! Size !! Sub Size !! Caption !! Required !! Default Value !! Display Format | |||
|- | |||
| LastReading || Float || align="center" | 10 || align="center" | 4 || UDF_LastReading || False || align="center" | 0 || #,0;-#,0 | |||
|- | |||
| CurrReading || Float || align="center" | 10 || align="center" | 4 || UDF_CurrReading || False || align="center" | 0 || #,0;-#,0 | |||
|} | |||
<div style="float: right;"> [[#top|[top]]]</div> | |||
===Debit Note=== | |||
''Menu: Sales | Debit Note...'' | |||
* Minimum UDF Fields Required (Items Fields) | |||
{| class="wikitable" style="margin: 1em auto 1em auto;" | |||
|- | |||
! Name !! Data Type !! Size !! Caption !! Required !! Default Value !! Display Format | |||
|- | |||
| IVDocNo || String || align="center" | 20 || UDF_IVDocNo || False || || | |||
|- | |||
| IVDocDate || Date || || UDF_IVDocDate || || || | |||
|- | |||
| IVDueDate || Date || || UDF_IVDueDate || || || | |||
|- | |||
| IVDocAmt|| Currency || || UDF_IVDocAmt || False || align="center" | 0 || #,0.00;-#,0.00 | |||
|- | |||
| IVOSAmt|| Currency || || UDF_IVOSAmt || False || align="center" | 0 || #,0.00;-#,0.00 | |||
|} | |||
<div style="float: right;"> [[#top|[top]]]</div> | |||
===Stock Item=== | |||
''Menu: Stock | Maintain Stock Item...'' | |||
* Item Code to be create | |||
:* '''WATER''' | |||
:* '''ELECTRIC''' | |||
:* '''GAS''' | |||
:* '''IWK''' | |||
:* '''RTN5Cents''' => For Rounding Mechanism | |||
:* '''OVERDUE''' => For Overdue Charge (Just set at '''Ref Price''' & enter 0.1 for 10% pa) | |||
:* '''MINCHARGE''' => For Utilities Price Range | |||
:* '''REBATE''' => For Utilities Price Range | |||
* Price Tag => For Different UnitPrice for Meter Reading (eg WATER, ELECTRIC & etc) | |||
::Use ''Disc'' column as Rebate & Min Charge => Format := Rebate+MinCharge | |||
::eg | |||
{| class="wikitable" style="margin: 1em auto 1em auto;" | |||
|- | |||
! Lead Time !! Type !! Description !! Input Value | |||
|- | |||
| style="text-align: center;" | 0 || Both || Rebate 11.75 & MinCharge 5 || 11.75+5 | |||
|- | |||
| style="text-align: center;" | 1 || Rebate Only || Rebate 12.30 & MinCharge 0 || 12.30+0 | |||
|- | |||
| style="text-align: center;" | 2 || Min Charge Only || Rebate 0 & MinCharge 5 || 0+5 | |||
|} | |||
* '''Lead Time''' => 0: Both, 1: Rebate Only, 2: Min Charge Only | |||
* For MinCharge make sure it had Value else set at 1 | |||
[[File:Recurring-07.jpg|center]] | |||
{| style="margin: 1em auto 1em auto;" | |||
|- | |||
| | |||
---------------------------------------------------------------------------------------------------------------------------------------------------- | |||
{| | |||
|- | |||
| [[File:Template.Tips-01.jpg|60px]]|| How System calculate Min. Qty for Min. Charge? | |||
:* Using above example => Min. Qty := 5 / 0.3121 = <span style="color:#0000ff">16.0205</span> | |||
:* if the Qty is below or equal <span style="color:#0000ff">16.0205</span> then Amount will Reset to '''5''' | |||
|} | |||
---------------------------------------------------------------------------------------------------------------------------------------------------- | |||
|} | |||
<div style="float: right;"> [[#top|[top]]]</div> | |||
===Customer Payment=== | |||
''Menu: Customer | Customer Payment...'' | |||
* Auto Generate Sales DN for overdue IV if UDF_PostDN (in [[DIY Fields]]) Default Value is set to True (Default is False) | |||
* Only Knock-off to DN will not regenerate DN again if overdue | |||
* Formula for Age | |||
<syntaxhighlight lang="delphi"> | |||
Age := CurrentWorkingDate - Knock off Invoice Due Date | |||
</syntaxhighlight> | |||
* Formula For Qty | |||
<syntaxhighlight lang="delphi"> | |||
if Age < DayOf(CurrentWorkingDate) then | |||
Qty := Age else | |||
Qty := DayOf(CurrentWorkingDate); | |||
</syntaxhighlight> | |||
* Formula for UnitPrice | |||
<syntaxhighlight lang="delphi"> | |||
Unit Price := Rate/365 * Knock off amount (Excluding GST) | |||
</syntaxhighlight> | |||
* Minimum UDF Fields Required (Header Fields) | |||
{| class="wikitable" style="margin: 1em auto 1em auto;" | |||
|- | |||
! Name !! Data Type !! Size !! Caption !! Required !! Default Value | |||
|- | |||
| PostDN || Boolean || || UDF_PostDN || False || False | |||
|- | |||
| TaxRate || String || 10 || UDF_TaxRate || False || 0% | |||
|} | |||
<div style="float: right;"> [[#top|[top]]]</div> | |||
===Customer Due Listing=== | |||
''Menu: Customer | Print Customer Due Document...'' | |||
* Auto Generate Sales Debit Note for overdue Invoice & Debit Note (can untick the option if don't wanted to be included before click Apply button) | |||
* It will Generate 1 Customer Code 1 Sales Debit Note | |||
* The rate is from Ref Price of '''OVERDUE''' itemcode (just enter 0.1 for 10% pa) | |||
* Formula Qty | |||
<syntaxhighlight lang="delphi"> | |||
if Age < DaysInAMonth(edDueDate.Date) then | |||
Qty := Age else | |||
Qty := DaysInAMonth(edDueDate.Date); | |||
</syntaxhighlight> | |||
* Formula UnitPrice | |||
<syntaxhighlight lang="delphi"> | |||
Unit Price := Rate/365 * Outstanding amount (Excluding GST) | |||
</syntaxhighlight> | |||
<br /> | |||
[[File:Recurring-06.jpg|850px|center]] | |||
:01. Set the Date to generate Overdue | |||
:02. Tick the following option | |||
::* Invoice | |||
::* Debit Note (if you wanted to include in calculation overdue) | |||
::* Overdue | |||
:03. Click '''Apply''' button | |||
:04. Select & Enter the DN Information | |||
:05. Click '''1. Post DN''' button | |||
{| style="margin: 1em auto 1em auto;" | |||
|- | |||
| | |||
---------------------------------------------------------------------------------------------------------------------------------------------------- | |||
{| | |||
|- | |||
| [[File:Template.Tips-01.jpg|60px]]|| For more accurate calculation for '''Unit Price''', try set the Unit Price to <span style="color:#0000ff">4 Decimal points</span> | |||
|} | |||
---------------------------------------------------------------------------------------------------------------------------------------------------- | |||
|} | |||
<div style="float: right;"> [[#top|[top]]]</div> | |||
===Sales Document Listing=== | |||
''Menu: Sales | Print Sales Document Listing...''<br /> | |||
* Is a batch | |||
:- Delete Document | |||
:- Copy From 1 Document type & Paste To Same or Other Document Type | |||
Base on the parameter selected & result shown in the grid | |||
[[File:Recurring-01.jpg|800px|center]] | |||
====Batch Delete Document==== | |||
Below is example to delete ''Invoice'' | |||
:01. Select '''Invoice Listing''' | |||
:02. Select Range '''Date''' or any parameter you prefer | |||
:03. Click '''Apply''' button | |||
:04. Click '''Delete''' button | |||
{| style="margin: 1em auto 1em auto;" | |||
|- | |||
| | |||
---------------------------------------------------------------------------------------------------------------------------------------------------- | |||
{| | |||
|- | |||
| [[File:Template.Warning-01.jpg|80px]]|| | |||
Only Select follow filter | |||
* Date | |||
* Customer | |||
* Agent | |||
* Area | |||
* Company Category | |||
* Doc. Project | |||
|} | |||
---------------------------------------------------------------------------------------------------------------------------------------------------- | |||
|} | |||
====Batch Copy & Paste Document==== | |||
Below is example to Copy from ''Invoice'' to ''Invoice'' | |||
:01. Select '''Invoice Listing''' | |||
:02. Select Range '''Date''' or any parameter you prefer | |||
:03. Click '''Apply''' button | |||
:04. In the section A (See icon A) | |||
{| class="wikitable" style="margin: 1em auto 1em auto;" | |||
|- | |||
! Field !! Description | |||
|- | |||
| Doc Date || Document Date to Set | |||
|- | |||
| To Document || Document Type To Post/Copy To (eg Invoice) | |||
|- | |||
| Header Desc || Document Header Description (Must Had Value) | |||
|- | |||
| 1st Item Desc || | |||
* Description for 1st Row of Detail. | |||
* If Leave Empty will copy from Original Source (i.e no changes) | |||
|- | |||
| Use Doc Tax Code || | |||
* Tick := will follow/copy the Tax code in the document | |||
* UnTick := will set Empty Tax code, Empty Tax Rate & TaxAmt = 0 | |||
|} | |||
:05. Click '''Post''' button | |||
<div style="float: right;"> [[#top|[top]]]</div> | |||
==Steps== | |||
===Maintain Customer=== | |||
''Menu: Customer | Maintain Customer...''<br /> | |||
====Generating Maintenance - SQFT==== | |||
[[File:Recurring-10.jpg|800px|center]] | |||
:01. Click '''1. Gen/B''' button. | |||
[[File:Recurring-11.jpg|800px|center]] | |||
:02. Untick any Customer you don't wanted to Generate | |||
:03. Select the '''Item Code'''. | |||
:04. Enter the '''Item Description'''. | |||
:05. Enter the '''Document Date'''. | |||
:06. Select '''Project''' (Optional) | |||
:07. Select '''Document Number Set''' to use | |||
:08. Click '''Post''' to generate | |||
{| style="margin: 1em auto 1em auto;" | |||
|- | |||
| | |||
---------------------------------------------------------------------------------------------------------------------------------------------------- | |||
{| | |||
|- | |||
| [[File:Template.Tips-01.jpg|60px]]|| | |||
: If system prompt "Do you want to set "xxxxxx" as your default document running number set?" <br /> | |||
: Just click '''Yes''' to avoid keep prompt again | |||
|} | |||
---------------------------------------------------------------------------------------------------------------------------------------------------- | |||
|} | |||
{| style="margin: 1em auto 1em auto;" | |||
|- | |||
| | |||
---------------------------------------------------------------------------------------------------------------------------------------------------- | |||
{| | |||
|- | |||
| [[File:Template.Warning-01.jpg|80px]]|| | |||
: Make sure the <span style="color:#0000ff">Build Up (sf), Use Maintain Customer Price & Unit Price/SQFT</span> Column | |||
: is shown at Browse Screen before Click the '''Gen/B''' button | |||
|} | |||
---------------------------------------------------------------------------------------------------------------------------------------------------- | |||
|} | |||
<div style="float: right;"> [[#top|[top]]]</div> | |||
===Quotation=== | |||
''Menu: Sales | Quotation...''<br /> | |||
====Generating Maintenance==== | |||
[[File:Recurring-02.jpg|800px|center]] | |||
:01. Enter/Change the '''Description''' to be shown in Sales Invoice & Customer Statement | |||
:02. Enter/Change the '''Date''' & '''Terms''' & other Information in '''Detail''' | |||
:03. Select '''Recurring Type''' (i.e. ''Maintenance''). | |||
:04. Select '''Document Number Set''' to use. | |||
:05. Click '''Save''' button. | |||
:06. Click '''3. Generate Bill''' button. | |||
[[File:Recurring-04.jpg|600px|center]] | |||
:01. Untick any Customer you don't wanted to Generate | |||
:02. Click '''Ok''' button to generate | |||
{| style="margin: 1em auto 1em auto;" | |||
|- | |||
| | |||
---------------------------------------------------------------------------------------------------------------------------------------------------- | |||
{| | |||
|- | |||
| [[File:Template.Tips-01.jpg|60px]]|| | |||
: The above steps also applicable for '''Generating Maintenance for SQFT''' | |||
|} | |||
---------------------------------------------------------------------------------------------------------------------------------------------------- | |||
|} | |||
====Generating Meter Reading==== | |||
[[File:Recurring-03.jpg|800px|center]] | |||
:01. Enter/Change the '''Description''' to be shown in Sales Invoice & Customer Statement | |||
:02. Enter/Change the '''Date''' & '''Terms''' & other Information in '''Detail''' | |||
:03. Select '''Recurring Type''' (i.e. ''Water Reading''). | |||
:04. Select '''Document Number Set''' to use. | |||
:05. Click '''Save''' button. | |||
:06. Click '''3. Generate Bill''' button. | |||
[[File:Recurring-05.jpg|600px|center]] | |||
:01. Untick any Customer you don't wanted to Generate | |||
:02. Enter the Current Reading for each Customer | |||
:03. Tick '''Include Grid Detail Info.''' (optional & available if Use Price Range is UnTick) | |||
::- if you wanted combine '''Generate Maintenance''' | |||
::- Must use the '''Generate Maintenance''' Template(Quotation) | |||
:04. Click '''Ok''' button to generate | |||
{| style="margin: 1em auto 1em auto;" | |||
|- | |||
| | |||
---------------------------------------------------------------------------------------------------------------------------------------------------- | |||
{| | |||
|- | |||
| [[File:Template.Tips-01.jpg|60px]]|| | |||
: If system prompt "Do you want to set "xxxxxx" as your default document running number set?" <br /> | |||
: Just click '''Yes''' to avoid keep prompt again | |||
|} | |||
---------------------------------------------------------------------------------------------------------------------------------------------------- | |||
|} | |||
<div style="float: right;"> [[#top|[top]]]</div> | |||
===Customer Payment=== | |||
''Menu: Customer | Customer Payment...''<br /> | |||
[[File:Recurring-08.jpg|800px|center]] | |||
Below is example for '''Generating Due Interest''' from Customer Payment<br /> | |||
:01. Click '''New''' button | |||
:02. Select Customer Code | |||
:03. Enter & Select the DN Information | |||
:04. Click '''0. Show Due IV/DN...''' button | |||
[[File:Recurring-09.jpg|center|800px]] | |||
:05. May untick which don't wanted to include the Due Interest Calculation. | |||
:06. Click '''Post DN''' Button to Post/Generate Due Interest DN | |||
:07. Click '''Close''' | |||
{| style="margin: 1em auto 1em auto;" | |||
|- | |||
| | |||
---------------------------------------------------------------------------------------------------------------------------------------------------- | |||
{| | |||
|- | |||
| [[File:Template.Warning-01.jpg|80px]]|| | |||
Make sure the '''UDF_PostDN''' Default is Set to '''False''' else will double posting | |||
|- | |||
| [[File:Template.Tips-01.jpg|80px]]|| | |||
The Age calculate to System '''Working Date'''.<br /> | |||
The UnitPrice is round to 4 Decimal Point.<br/> | |||
The GST Rate field is use to Pre-Calculate the Due Amount before posting Only. <br/> | |||
The GST rate is still base on the GST Tax code you set in Maintain Item or Tools | option or Maintain Customer. | |||
|} | |||
---------------------------------------------------------------------------------------------------------------------------------------------------- | |||
|} | |||
<div style="float: right;"> [[#top|[top]]]</div> | |||
==FAQ== | |||
===Where to Generate the Cust Local - Payment Listing (GST 1) - Knock Off Doc No Set - Cross report?=== | |||
''Menu : Customer | Print Customer Document Listing... | Customer Payment Listing'' | |||
===How the Column Description shown in Cust Local - Payment Listing (GST 1) - Knock Off Doc No Set - Cross report?=== | |||
''Menu : Tools | Maintain Document Number... '' | |||
: It use | |||
::- '''Description''' field as Caption | |||
::- First 2 Character '''Format''' field as Grouping (eg Format RE-IV-%.5d it will group by RE) | |||
===Where to Generate the Sales Customer Price History - ItemCode - Cross report?=== | |||
''Menu : Sales | Print Print Sales Price History...'' | |||
: Select <span style="color:#0000ff">Customer</span> in '''Group/Sort By :''' Option | |||
===My company not using Rebate & Min. Charge. What Input Value I need to set?=== | |||
: Just set the Discount Value to <span style="color:#0000ff">0+0</span> | |||
===How is the Rebate & Min.Charge is Work?=== | |||
: Default System will Calculate the Min. Charge then Only Rebate | |||
<div style="float: right;"> [[#top|[top]]]</div> | |||
===Can I use Maintain Customer Agent/Terms code instead use Quotation Agent/Terms code?=== | |||
: Yes can just Create & set the Code as <span style="color:#0000ff">zProfile</span> for Agent and/or Terms | |||
[[File:Recurring-14.jpg|center]] | |||
== | ===Why at Maintain Customer Gen/B I can't select the Itemcode?=== | ||
: Make sure you had '''Stock Group''' begin with <span style="color:#0000ff">MAINTENANCE</span> & all itemcode is set to this Stock Group | |||
= | <div style="float: right;"> [[#top|[top]]]</div> | ||
==See also== | ==See also== | ||
* Others [[Customisation]] | * Others [[Customisation]] |
Latest revision as of 04:35, 20 December 2023
Introduction
This Customisation is for simple calculation for the management property which normally monthly charge Maintenance, Sinking Fund & etc. |
History New/Updates/Changes
Coming Soon...
- Add Use Full Age Option for Late Charge Qty in Customer Due Listing.
- Enable Save Setting for Customer Due Listing using Note Field for ItemCode OVERDUE.
- Enable Recurring without Filter by Company Category
- Add 0Sales Debit Note 9-Late Charges format.
- Add 0Sales Invoice 8 (SST 2)-Aging-Recurring-Maintenance format.
- Add 0Sales Invoice 8 (SST 2)-Aging-Recurring-Meter format.
- Add 0Sales Invoice 8 (SST 2)-Aging-Recurring-Meter-PrcRange format.
- Add 0Sales Invoice 8 (SST 2)-Recurring-Meter-PrcRange format.
- Exclude posting if amount = 0 when generate DN.
11 Aug 2022
- Add Tick/UnTick All Option for Gen/B In Maintain Customer.
- Fix sometime prompt error when using Price Range.
- Add With 5 Cents Rounding Options for Customer Due Listing.
- Add T.O/S Amt label (Total Outstanding Amount) in Sales Invoice.
- Fixed Header Description for Total Amount Not Correctly Sum when using Price Range.
- Add Prompt for Open Sales Invoice after done Posting.
- Add With 5 Cents Rounding & With DN Options for Customer Payment.
- Add Prompt for Open Sales Debit Note after done Posting.
- Add UDF_LastReading & UDF_CurrReading at Sales Invoice for Price Range use.
- Fixed Error due to system override when using Min Charge only for utilities.
- Fixed Display Format for utilities should be in 4 decimal point
- Enable Optional to use Maintain Customer Agent & Terms when using zProfile code for Agent & Terms
- Fixed SQLAcc auto exit when Click Generate in Lastest SQL Acc Version.
15 Apr 2019
- Add Option Include Zero Qty for Utilities
- Fixed Unable Recurring For Document Listing after upgrade to 776
- Fixed Utilities will shown Discount 1 when PriceTag discount is empty
22 Mar 2019
- Add Process Status on Recurring SQFT in Maintain Customer
- Fixed Min. Charge not working for Lead Time 0 & 1
28 Jan 2019
- Move Footer Count to Company Name
- Increase Form width to 1024
- Remove all Tax Code in Sample Data
- Add Use Doc Tax Code option for Doc Listing
- Allow Multi range price for Utility
04 Oct 2018
- Fixed Amount not correct if Qty = Min Charge Amt Qty
15 Aug 2018
- Reduce the Doc & Item Project Length at Customer Payment
- Set to 0 if using both Rebate & Min Charge if below Min Charge amount
11 Jul 2018
- Allow more then 1 Stock Group for SQFT in Maintain Customer
- Add UDF_UseSQFT in QT Detail - True Qty = UDF_BuildUp(Maintain Customer)
- Add UDF_UseARPrice in QT Detail - True UnitPrice = UDF_UPSQFT(Maintain Customer)
- Add Last Payment Date, Amount & Outstanding Information in Invoice Detail Screen
- Add Document & Item Project selection Posting for Customer Due
15 Feb 2018
- Generate by SQFT by Customer
- Add Cust Local - Payment Listing (GST 1) - Knock Off Doc No Set - Cross
- Add Sales Customer Price History - ItemCode - Cross
- Allow to change Header Description for DN Overdue
- Set Default TaxRate 0% for Payment DN overdue
21 Mar 2017
- Change Header Description for Posting DN to Late Payment Charges for
25 Jan 2017
- Add Pre-Post DN at Customer Payment.
- Add Sales Document Listing Recurring.
16 Sep 2016
- Fixed access violation error if No Record Found prompt.
12 Jan 2016
- Enable GAS Reading
25 Dec 2015
- Add 0Sales Invoice 7 (GST 2)-Recurring-Maintenance Report
- Add 0Sales Invoice 7 (GST 2)-Recurring-Meter Report
- Enable GAS Reading
- Allow Select Multi DocNo Set for Different Reading
- Fixed bug LeadTime=0 - Will being override by Rebate when is below Min Charge (i.e. will set to 0 if less then Min Charge)
- Fixed Cust Statement 06 Mths 1 Report Not shown Address 1 & take too much space at footer
26 Sep 2015
- Remove 5 Cent rounding Script & use build in 5 Cent rounding
- Fixed Customise Statement report not follow company profile information
- Set Customer Payment UDF_PostDN Default Value = False
12 Aug 2015
- Fixed Posting Overdue DN should excluding the GST amount from the calculation
Know Bugs
Todo
- OVERDUE Qty := Qty + LeadTime for AR Payment
- Remember last Setting for Document Listing
Modules Require
- DIY Field
- DIY Script
- Multiple Pricing (Price Tag)
- Multiple Document Number Set
Video
Settings
Maintain User
Menu: Tools | Maintain User...
Untick the Access Right for Prompt Replace Unit Price Dialog under the Group : Sales
Maintain Customer
Menu: Customer | Maintain Customer...
- Below fields MUST had Value (minimum is 0 not empty or Null)
- - UDF_WaterReading
- - UDF_ElectricReading
- - UDF_GasReading
- - UDF_IWKReading
- - Price Tag
- Minimum UDF Fields Required
Name | Data Type | Size | Sub Size | Caption | Required | Default Value | Display Format |
---|---|---|---|---|---|---|---|
WaterReading | Float | 10 | 4 | UDF_WaterReading | False | 0 | #,0;-#,0 |
ElectricReading | Float | 10 | 4 | UDF_ElectricReading | False | 0 | #,0;-#,0 |
GasReading | Float | 10 | 4 | UDF_GasReading | False | 0 | #,0;-#,0 |
IWKReading | Float | 10 | 4 | UDF_IWKReading | False | 0 | #,0;-#,0 |
UseARPrice | Boolean | Use Maintain Customer Price | False | False | |||
UPSQFT | Float | 10 | 4 | Unit Price/SQFT | False | 0 | #,0.00;-#,0.00 |
BuildUp | Float | 10 | 4 | Build Up (sf) | False | 0 | #,0.00;-#,0.00 |
WaterLastDate | Date | UDF_WaterLastDate | |||||
ElectricLastDate | Date | UDF_ElectricLastDate | |||||
GasLastDate | Date | UDF_GasLastDate | |||||
IWKLastDate | Date | UDF_IWKLastDate |
Quotation
Menu: Sales | Quotation...
- DocNo Format := CompanyCategoryCode;Type
eg B-Shop;Main => For Maintenance B-Shop;Water => For Water Billing B-Shop;Park => For Car Park
- For Meter Reading (eg Water, Electric & etc), Detail can be empty cause system will auto APPEND the itemcode
|
Quotation - SQFT
Quotation - Utilities - Price Range
Below Example is for Price Range Water Reading
- 01. Tick Use Price Range
- 02. Select Item Code (eg WATER for Water Reading)
- 03. Enter the Description to be shown in Invoice for Each Range
- 04. Enter the Range UDF_From & UDF_To
- 05. Enter the Unit Price
|
- List Field to be copy from Quotation to Invoice
Master | Detail |
---|---|
|
|
- Minimum UDF Fields Required (Header Fields)
Name | Data Type | Caption | Required | Default Value |
---|---|---|---|---|
DocNoSet | Integer | UDF_DocNoSet | False | 0 |
Type | Integer | UDF_Type | False | 0 |
IsPrcRange | Boolean | UDF_IsPrcRange | False | False |
IncZero | Boolean | UDF_IncZero | False | False |
- Minimum UDF Fields Required (Item Fields)
Name | Data Type | Caption | Required | Default Value | Display Format |
---|---|---|---|---|---|
From | Integer | UDF_From | False | 0 | #,0;-#,0 |
To | Integer | UDF_To | False | 0 | #,0;-#,0 |
UseSQFT | Boolean | UDF_UseSQFT | False | False | |
UseARPrice | Boolean | UDF_UseARPrice | False | False |
Invoice
Menu: Sales | Invoice...
- Minimum UDF Fields Required (Items Fields & Headers Fields)
Name | Data Type | Size | Sub Size | Caption | Required | Default Value | Display Format |
---|---|---|---|---|---|---|---|
LastReading | Float | 10 | 4 | UDF_LastReading | False | 0 | #,0;-#,0 |
CurrReading | Float | 10 | 4 | UDF_CurrReading | False | 0 | #,0;-#,0 |
Debit Note
Menu: Sales | Debit Note...
- Minimum UDF Fields Required (Items Fields)
Name | Data Type | Size | Caption | Required | Default Value | Display Format |
---|---|---|---|---|---|---|
IVDocNo | String | 20 | UDF_IVDocNo | False | ||
IVDocDate | Date | UDF_IVDocDate | ||||
IVDueDate | Date | UDF_IVDueDate | ||||
IVDocAmt | Currency | UDF_IVDocAmt | False | 0 | #,0.00;-#,0.00 | |
IVOSAmt | Currency | UDF_IVOSAmt | False | 0 | #,0.00;-#,0.00 |
Stock Item
Menu: Stock | Maintain Stock Item...
- Item Code to be create
- WATER
- ELECTRIC
- GAS
- IWK
- RTN5Cents => For Rounding Mechanism
- OVERDUE => For Overdue Charge (Just set at Ref Price & enter 0.1 for 10% pa)
- MINCHARGE => For Utilities Price Range
- REBATE => For Utilities Price Range
- Price Tag => For Different UnitPrice for Meter Reading (eg WATER, ELECTRIC & etc)
- Use Disc column as Rebate & Min Charge => Format := Rebate+MinCharge
- eg
Lead Time | Type | Description | Input Value |
---|---|---|---|
0 | Both | Rebate 11.75 & MinCharge 5 | 11.75+5 |
1 | Rebate Only | Rebate 12.30 & MinCharge 0 | 12.30+0 |
2 | Min Charge Only | Rebate 0 & MinCharge 5 | 0+5 |
- Lead Time => 0: Both, 1: Rebate Only, 2: Min Charge Only
- For MinCharge make sure it had Value else set at 1
|
Customer Payment
Menu: Customer | Customer Payment...
- Auto Generate Sales DN for overdue IV if UDF_PostDN (in DIY Fields) Default Value is set to True (Default is False)
- Only Knock-off to DN will not regenerate DN again if overdue
- Formula for Age
Age := CurrentWorkingDate - Knock off Invoice Due Date
- Formula For Qty
if Age < DayOf(CurrentWorkingDate) then
Qty := Age else
Qty := DayOf(CurrentWorkingDate);
- Formula for UnitPrice
Unit Price := Rate/365 * Knock off amount (Excluding GST)
- Minimum UDF Fields Required (Header Fields)
Name | Data Type | Size | Caption | Required | Default Value |
---|---|---|---|---|---|
PostDN | Boolean | UDF_PostDN | False | False | |
TaxRate | String | 10 | UDF_TaxRate | False | 0% |
Customer Due Listing
Menu: Customer | Print Customer Due Document...
- Auto Generate Sales Debit Note for overdue Invoice & Debit Note (can untick the option if don't wanted to be included before click Apply button)
- It will Generate 1 Customer Code 1 Sales Debit Note
- The rate is from Ref Price of OVERDUE itemcode (just enter 0.1 for 10% pa)
- Formula Qty
if Age < DaysInAMonth(edDueDate.Date) then
Qty := Age else
Qty := DaysInAMonth(edDueDate.Date);
- Formula UnitPrice
Unit Price := Rate/365 * Outstanding amount (Excluding GST)
- 01. Set the Date to generate Overdue
- 02. Tick the following option
- Invoice
- Debit Note (if you wanted to include in calculation overdue)
- Overdue
- 03. Click Apply button
- 04. Select & Enter the DN Information
- 05. Click 1. Post DN button
|
Sales Document Listing
Menu: Sales | Print Sales Document Listing...
- Is a batch
- - Delete Document
- - Copy From 1 Document type & Paste To Same or Other Document Type
Base on the parameter selected & result shown in the grid
Batch Delete Document
Below is example to delete Invoice
- 01. Select Invoice Listing
- 02. Select Range Date or any parameter you prefer
- 03. Click Apply button
- 04. Click Delete button
|
Batch Copy & Paste Document
Below is example to Copy from Invoice to Invoice
- 01. Select Invoice Listing
- 02. Select Range Date or any parameter you prefer
- 03. Click Apply button
- 04. In the section A (See icon A)
Field | Description |
---|---|
Doc Date | Document Date to Set |
To Document | Document Type To Post/Copy To (eg Invoice) |
Header Desc | Document Header Description (Must Had Value) |
1st Item Desc |
|
Use Doc Tax Code |
|
- 05. Click Post button
Steps
Maintain Customer
Menu: Customer | Maintain Customer...
Generating Maintenance - SQFT
- 01. Click 1. Gen/B button.
- 02. Untick any Customer you don't wanted to Generate
- 03. Select the Item Code.
- 04. Enter the Item Description.
- 05. Enter the Document Date.
- 06. Select Project (Optional)
- 07. Select Document Number Set to use
- 08. Click Post to generate
|
|
Quotation
Menu: Sales | Quotation...
Generating Maintenance
- 01. Enter/Change the Description to be shown in Sales Invoice & Customer Statement
- 02. Enter/Change the Date & Terms & other Information in Detail
- 03. Select Recurring Type (i.e. Maintenance).
- 04. Select Document Number Set to use.
- 05. Click Save button.
- 06. Click 3. Generate Bill button.
- 01. Untick any Customer you don't wanted to Generate
- 02. Click Ok button to generate
|
Generating Meter Reading
- 01. Enter/Change the Description to be shown in Sales Invoice & Customer Statement
- 02. Enter/Change the Date & Terms & other Information in Detail
- 03. Select Recurring Type (i.e. Water Reading).
- 04. Select Document Number Set to use.
- 05. Click Save button.
- 06. Click 3. Generate Bill button.
- 01. Untick any Customer you don't wanted to Generate
- 02. Enter the Current Reading for each Customer
- 03. Tick Include Grid Detail Info. (optional & available if Use Price Range is UnTick)
- - if you wanted combine Generate Maintenance
- - Must use the Generate Maintenance Template(Quotation)
- 04. Click Ok button to generate
|
Customer Payment
Menu: Customer | Customer Payment...
Below is example for Generating Due Interest from Customer Payment
- 01. Click New button
- 02. Select Customer Code
- 03. Enter & Select the DN Information
- 04. Click 0. Show Due IV/DN... button
- 05. May untick which don't wanted to include the Due Interest Calculation.
- 06. Click Post DN Button to Post/Generate Due Interest DN
- 07. Click Close
|
FAQ
Where to Generate the Cust Local - Payment Listing (GST 1) - Knock Off Doc No Set - Cross report?
Menu : Customer | Print Customer Document Listing... | Customer Payment Listing
How the Column Description shown in Cust Local - Payment Listing (GST 1) - Knock Off Doc No Set - Cross report?
Menu : Tools | Maintain Document Number...
- It use
- - Description field as Caption
- - First 2 Character Format field as Grouping (eg Format RE-IV-%.5d it will group by RE)
Where to Generate the Sales Customer Price History - ItemCode - Cross report?
Menu : Sales | Print Print Sales Price History...
- Select Customer in Group/Sort By : Option
My company not using Rebate & Min. Charge. What Input Value I need to set?
- Just set the Discount Value to 0+0
How is the Rebate & Min.Charge is Work?
- Default System will Calculate the Min. Charge then Only Rebate
Can I use Maintain Customer Agent/Terms code instead use Quotation Agent/Terms code?
- Yes can just Create & set the Code as zProfile for Agent and/or Terms
Why at Maintain Customer Gen/B I can't select the Itemcode?
- Make sure you had Stock Group begin with MAINTENANCE & all itemcode is set to this Stock Group
See also
- Others Customisation