Paper Industries: Difference between revisions

From eStream Software
No edit summary
Line 148: Line 148:
  '''end.'''
  '''end.'''


<br />
==Record Sale of Second Hand Car Value==
''[Sales | Invoice…]''<br />
===Margin Scheme Input===
1. Enter the sale value of second car at Invoice. (eg.RM90,113.69)<br />
2. You must select the correct car plate number from Project.(eg.PGE3333)<br />
3. Initial Purchase Cost will auto upadate after select the project (car plate number). <br />
4. Tax amount will be calculated based on Margin Scheme method.(See screenshot below)<br />
::a. Sellng Price = 90,113.69<br />
::b. Purchase Cost = 30,000.00<br />
::c. Margin = 90,113.69 – 30,000.00 = 60,113.69<br />
::d. Tax amount = 60,113.69 x 6/106 = 3,402.66<br />
::[[File:07 GST MarginScheme SalesInvoice.jpg | 440PX]]
<br />
6. Invoice no, invoice date, selling price, margin, and margin tax amount will be shown in Lampiran 07 -Monthly Report for Relief for Secondhand Goods or Margin Scheme (MS)<br />
===Other Information===
1. Customer Particular tab.<br />
::[[File:07 GST MarginScheme SalesInvoice CustParticular.jpg | 440PX]]
<br />
2. Deposit Info (For record purpose, no posting to account).<br />
::[[File:07 GST MarginScheme SalesInvoice Deposit.jpg | 440PX]]
<br />
3. Vehichle Detail (Auto retrieve from Vehicle Detail in Maintain Project).<br />
::[[File:07 GST MarginScheme SalesInvoice VehicleDetail.jpg | 440PX]]
<br />
==Print for GST Lampiran 07 (Lampiran B0-Penyata-Pemantauan-SM-Syarikat)==
''[Sales | Print Sales Document Listing…]''
1. Select document to “Invoice Listing” and click APPLY.<br />
::[[File:08 GST MarginScheme SalesDocumentListing.jpg | 440PX]]
<br />
2. Click on preview or print. Select the report name “Lampiran B0-Penyata-Pemantauan-SM-Syarikat”.<br />
::[[File:08 GST MarginScheme SalesDocumentListingLampiran B.jpg | 40PX]]
<br />
<br />


==See also==
==See also==
* Others [[Customisation]]
* Others [[Customisation]]

Revision as of 07:09, 6 November 2015

Introduction



Updates

Last Customisation Update : 06 Nov 2015

Criterias

Maintain Stock Group

[Stock | Maintain Stock Group...]

Stock group will be used as the Product Grade and Branding to categorise the stock items list.

Maintain Stock Item

[Stock | Maintain Stock Item...]

1. Stock Master Data.

Types Field Name Data Types Length Usage
STD Code String 30 Product Code, eg. ACGAAA100SK-31004300
STD Description String 200 Product Name, eg. Matt A/Paper China
STD 2nd Description String 200 Paper packaging size to be display in sales tax invoice, eg. 100gsm 31" x 43"
STD Base UOM String 10 stock unit of measurement, usually either enter as REAM or MT or PKT
DIY GSM Float Size :10
SubSize: 2
GSM value for Weight KG calculation
DIY Width Float Size :10
SubSize: 2
Width value for Weight KG calculation
DIY Length Float Size :10
SubSize: 2
Length value for Weight KG calculation
DIY PKT Float Size :10
SubSize: 2
PKT value for Weight KG calculation
DIY Weight_MT Float Size :10
SubSize: 4
Weight MT value
DIY Weight_KG Float Size :10
SubSize: 4
Weight Kgs value


2. Formula:

Weight KG = ((GSM x Width x Length)/3100)/PKT 
Weight MT = Weight KG/1000 

Both formula results are rounding up to 4 decimals.

3. Under Tools | DIY | SQL Control Center...Browse to Stock | Stock Item and insert the event "OnBeforeSave" with the DIY Script below:

Var M : TDataSource;

begin M := TDataSource(Self.FindComponent('dsAccess')); M.DataSet.Edit; M.DataSet.FindField('UDF_Weight_KG').Value := SimpleRoundToEx((((M.DataSet.FindField('UDF_GSM').AsFloat* M.DataSet.FindField('UDF_Width').AsFloat* M.DataSet.FindField('UDF_Length').AsFloat)/3100)/M.DataSet.FindField('UDF_PKT').AsFloat),-4); M.DataSet.FindField('UDF_Weight_MT').Value := SimpleRoundToEx((M.DataSet.FindField('UDF_Weight_KG').AsFloat/1000),-4); end.


Sales Documents Entry

1. Sales documents entry are:-

  • Quotation
  • Sales Order
  • Delivery Order
  • Invoice
  • Debit Note
  • Credit Note

2. Insert and update the following DIY fields & Script into above mentions sales documents in Tools | DIY | SQL Control Center...
a) DIY Fields

Type Field Name Data Types Length
DIY-F GSM Float Size: 10
SubSize: 2
DIY-F Width Float Size: 10
SubSize: 2
DIY-F Length Float Size: 10
SubSize: 2
DIY-F PKT Float Size: 10
SubSize: 2
DIY-F Weight_MT Float Size: 10
SubSize: 4
DIY-F Weight_KG Float Size: 10
SubSize: 4
DIY-F TotWeight_MT Float Size: 10
SubSize: 4
DIY-F TotWeight_KG Float Size: 10
SubSize: 4


b. DIY Script:

var
  FComServer : Variant;

function ComServer: Variant; begin if FComServer = Null then begin FComServer := CreateOleObject('SQLAcc.BizApp'); end; Result := FComServer; end;
var lBizObj,S,S2 : Variant; lSQL  : String; lCdsDataList : TClientDataSet; D : TDataSource;
begin FComServer  := null; lCdsDataList := TClientDataSet.Create(nil); D := TDataSource(Self.FindComponent('dsDocDetail')); try lSQL  := 'Code='+ QuotedStr(D.DataSet.FindField('ItemCode').AsString); lBizObj  := ComServer.BizObjects.Find('ST_ITEM');
lCdsDataList.XMLData := lBizObj.Select('UDF_GSM, UDF_Width, UDF_Length, UDF_PKT, UDF_Weight_KG, UDF_Weight_MT',lSQL,,'SX',',',); if SameText(EditingField, 'ItemCode') or SameText(EditingField, 'Qty') then begin D.DataSet.edit; D.DataSet.FindField('UDF_GSM').Value := lCdsDataList.FindField('UDF_GSM').Value; D.DataSet.FindField('UDF_Width').Value := lCdsDataList.FindField('UDF_Width').Value; D.DataSet.FindField('UDF_Length').Value := lCdsDataList.FindField('UDF_Length').Value; D.DataSet.FindField('UDF_PKT').Value := lCdsDataList.FindField('UDF_PKT').Value; D.DataSet.FindField('UDF_Weight_KG').Value := lCdsDataList.FindField('UDF_Weight_KG').Value; D.DataSet.FindField('UDF_Weight_MT').Value := lCdsDataList.FindField('UDF_Weight_MT').Value; D.DataSet.FindField('UDF_TotWeight_KG').value := D.DataSet.FindField('UDF_Weight_KG').AsFloat*D.DataSet.FindField('Qty').Value; D.DataSet.FindField('UDF_TotWeight_MT').value := D.DataSet.FindField('UDF_Weight_MT').AsFloat*D.DataSet.FindField('Qty').Value; end;
finally lBizObj  := null; FComServer := null; lCdsDataList.Free; end; end.


See also