Proposal For Cash Sale PDF Template

Cash Sale PDF 

J-curve would like to create the Cash Sale PDF template as per given layout

Our Solution 

The requirement can be achieved by customizing the advanced PDF template of the Cash Sale and that template can be applied to the custom Cash Sale form. So, the users can generate the print by clicking the standard print button from the Cash Sale record.  

Also, a script needs to be deployed on save of the Cash Sale, which will create the Cash Sale Total in Thai words and store it in a separate custom body field. This Amount in words can be used on the print 

Field Mapping can be followed as per the given mapping file.  

The “Angsana” font can be used for the content 

The layout of the PDF will be designed as below 

  • Header will be displayed on every page 
  • The item body table can be considered as the Dynamic. So, the table will be end immediately after the item’s lines 
  • Summary section can be added immediately after the Item table 

Assumptions 

  • Copies need to be generated per cash sale. 1 Original and 1 or 2 copy in A4 page size. 

If  [CashSale.custbody_scg_ar_doctype] is ใบกำกับภาษี/ใบเสร็จรับเงิน – AR, then print 2 copies as below 

1. ต้นฉบับ สำหรับลูกค้า / Original for Customer 

2. สำเนา 1 สำหรับลูกค้า / Copy 1 for Customer 

3. สำเนา 2 สำหรับเก็บเป็นสำเนาใบกำกับภาษีและหลักฐานทางบัญชี / Copy 2 For Tax Invoice and Accounting 

If the doctype other than the ใบกำกับภาษี/ใบเสร็จรับเงิน – AR, then print will be created only with an original copy – ต้นฉบับ สำหรับลูกค้า / Original for Customer 

  • The header and footer section (1-34 and 76- 77) will be repeated on every page if the print has multiple pages 
  • For field mapping 10,  
  • If [CashSale.custbody_scg_ar_doctype] is ใบกำกับภาษี/ใบเสร็จรับเงิน – AR, then show 

ใบกำกับภาษี / ใบเสร็จรับเงิน 

 TAX INVOICE / RECEIPT 

  • Regarding the item table,   

We can Group the Line Discount amount along with preceding item line. But the display of discount Item lines will be skipped from the print. 

If the discount item (other than Line Discount) is coming after any other type item line, then discount column of print will be empty  

  • For field mapping 74, fixed size will be given for signature image. We assume that all signatures will be in same size. 
  • The amount format is comma-separated. 
  • The Thai words/Labels will be provided by the JCurve Solutions Limited and we can hard code the Thai labels in the print. 
  • The font style should be Angsana and the font size should be the same as the file provided by the client. 
  • The field sourcing will be done based on the file that is provided by the client and we assume all the fields are available in Netsuite account 
  • The date format should be same as in the given sample print 

Risks 

  • We can get data only from the current record and the next join record such as Subsidiary and Entity. If any data needs to be populated from record with more than one join/from item record, then that needs to be populated to a custom field on the corresponding transaction by sourcing or scripting. This is not included in the current scope 
  • If document has more than 1 page, Total will show only in the last page 
  • The withholding Tax in mapping no. 57, will be shown within bracket as per sample even if the withholding tax is positive value. It will show 0.00 if it has no value 
  • The item table will end immediately after the item lines and will begin the summary table (43-75) 
  • The contents in the summary part (43-75) may break into multiple pages due to the long content. 
  • The summary section will split into 3 sections such as  
  • Section 1: 43 to 60,  
  • Section 2: 61 to 72,  
  • Section 3: 73 to 75 

So, here the page break will be done accordingly 

  • Item table header will be repeated in all pages even if the item lines end but still page with summary part 
  • There will be chance to show double horizontal lines (item table header line and summary part line) if page start with summary part.

Leave a comment

Your email address will not be published. Required fields are marked *