Fast Report - E-Mail Client (Batch) & E-Mail (Native)

From eStream Software

Introduction

By default we got 3 types of Export to E Mail for Fast Report

E-Mail Client

Pros
  • User still can change the E-Mail address, Subject & body (E-Mail Content) before Sent
  • Send E-Mail will keep in the Client E-Mail
  • Support HTML format
  • Can Attach more then 1 format
  • Can use without E-Mail Script
Cons
  • Not easy to setup
  • Only For Single Document E-Mail
  • Attachment only Support pdf, Excel & HTML format

E-Mail Client (Batch)

Pros
  • Can use for Batch & Single Document E-Mail
  • Send E-Mail will keep in the Client E-Mail
Cons
  • Not easy to setup
  • Only support pdf attachment
  • E-Mail Content only support plain text
  • User can't change the E-Mail address, Subject & body (E-Mail Content) before Sent
  • Must load the E-Mail Script

E-Mail (Native)

Pros
  • Easy to Setup
  • Support many attachment format
  • User still can change the E-Mail address, Subject & body (E-Mail Content) before Sent
  • Can use without E-Mail Script
Cons
  • No record is keeped for Sended E-Mail
  • Only For Single Document E-Mail
  • E-Mail Content only support plain text
  • Only support Single Attachment

Requirement

  • Fast Report
  • Client E-Mail (eg Mozilla Thunderbird-Recommended) for E-Mail Client & E-Mail Client (Batch) Only
  • An E-Mail Account (eg GMail)
  • SQL Accounting Version 731 & above

Setting

Below is example using Sales Invoice

FR-EMail-01.jpg
01. Click the Code Tab
02. Enter below Script at the First line
E-Mail Script 1 (Last Script Update : 21 Apr 2016)
//const MaxInt = 2147483647;
var lSQL : String;

function StringReplace(const S, OldPattern, NewPattern: string;
  iReplaceAll: boolean=true; iIgnoreCase :boolean=true): string;
var
  SearchStr, Patt, NewStr: string;
  Offset: Integer;
begin
// Usage StringReplace(<Main."DOB">,'/','')
  if iIgnoreCase then begin
    SearchStr := UpperCase(S);
    Patt := UpperCase(OldPattern);
  end else begin
    SearchStr := S;
    Patt := OldPattern;
  end;
  NewStr := S;
  Result := '';
  while SearchStr <> '' do begin
    Offset := Pos(Patt, SearchStr);
    if Offset = 0 then begin
      Result := Result + NewStr;
      Break;
    end;
    Result := Result + Copy(NewStr, 1, Offset - 1) + NewPattern;
    NewStr := Copy(NewStr, Offset + Length(OldPattern), MaxInt);
    if not iReplaceAll then begin
      Result := Result + NewStr;
      Break;
    end;
    SearchStr := Copy(SearchStr, Offset + Length(Patt), MaxInt);
  end;
end;

procedure GetEMailTpl;
var D  : TfrxDataSet;
   lFN : String;
begin
  lFN := Trim(Report.ReportOptions.Name);
  lFN := StringReplace(lFN,'.fr3','');
  D := Report.GetDataSet('plEMailTpl');
  D.First;
  While not D.Eof do begin
    if Trim(D.Value('ReportName')) = lFN then
      Break;
    D.Next;
  end;
end;

function GetFldInfo(const AStr:String):String;
var D : TfrxDataSet;
    nStr : String;
    lSL,lPL : TStringList;
    i, j : integer;
begin
  nStr := AStr;
  lSL := TStringList.Create;
  lPL := TStringList.Create;
  with lPL do begin //Available Pipeline
    Add('Main');
    Add('Profile');
  end;
  try
    for j:=0 to lPL.Count -1 do begin
      D := Report.GetDataSet(lPL[j]);
      D.GetFieldList(lSL);
      for i:=0 to lSL.Count -1 do begin
        if D.IsBlobField(lSL[i]) then
          nStr := StringReplace(nStr, '<'+ lPL[j] + '.' + lSL[i] + '>',D.Value(lSL[i])) else
        nStr := StringReplace(nStr, '<'+ lPL[j] + '.' + lSL[i] + '>',D.DisplayText(lSL[i]));
      end;
    end;
    Result := nStr;
  finally
    lSL.Free;
    lPL.Free;
  end;
end;

//For E-Mail Client (Batch)
procedure OnGetEmailSettings(EmailSettings: TStrings);
var vEmail, vName: Variant;
begin
  GetEMailTpl;
  vEmail := Trim(<Document_CompanyBranch."Email">);
  vName := Trim(<Main."CompanyName">);

  if (vName <> '' ) and (vEmail <> '') then begin
    EmailSettings.Values['Recipients'] := vEmail;
    EmailSettings.Values['Subject']    := GetFldInfo(<plEMailTpl."Subject">);
    EmailSettings.Values['Body']       := GetFldInfo(RichTextToPlainText(<plEMailTpl."Body">));
  end;
  //ID uses for display on progress dialog
  EmailSettings.Values['ID']        := vName;
end;

//For E-Mail (Native)
function SQL_Email_GetInfo(Info: Integer): string;
var vEmail, vName: Variant;
begin
  GetEMailTpl;
  Result := '';
  vEmail := Trim(<Document_CompanyBranch."Email">);
  vName := Trim(<Main."CompanyName">);

  if (vName <> '' ) and (vEmail <> '') then begin
    case Info of
      SQL_Email_Address: Result := vEmail;
      SQL_Email_Subject: Result := GetFldInfo(<plEMailTpl."Subject">);
      SQL_Email_Content: Result := GetFldInfo(RichTextToPlainText(<plEMailTpl."Body">));
    end;
  end;
end;


E-Mail Script 2 (Last Script Update : 22 Dec 2017)
//const MaxInt = 2147483647; // Only Available in Version 752 & above
var lSQL : String;

function StringReplace(const S, OldPattern, NewPattern: string;
  iReplaceAll: boolean=true; iIgnoreCase :boolean=true): string;
var
  SearchStr, Patt, NewStr: string;
  Offset: Integer;
begin
// Usage StringReplace(<Main."DOB">,'/','')
  if iIgnoreCase then begin
    SearchStr := UpperCase(S);
    Patt := UpperCase(OldPattern);
  end else begin
    SearchStr := S;
    Patt := OldPattern;
  end;
  NewStr := S;
  Result := '';
  while SearchStr <> '' do begin
    Offset := Pos(Patt, SearchStr);
    if Offset = 0 then begin
      Result := Result + NewStr;
      Break;
    end;
    Result := Result + Copy(NewStr, 1, Offset - 1) + NewPattern;
    NewStr := Copy(NewStr, Offset + Length(OldPattern), MaxInt);
    if not iReplaceAll then begin
      Result := Result + NewStr;
      Break;
    end;
    SearchStr := Copy(SearchStr, Offset + Length(Patt), MaxInt);
  end;
end;

procedure GetEMailTpl;
var D  : TfrxDataSet;
   lFN : String;
begin
  lFN := Trim(Report.ReportOptions.Name);
  lFN := StringReplace(lFN,'.fr3','');
  D := Report.GetDataSet('plEMailTpl');
  D.First;
  While not D.Eof do begin
    if Trim(D.Value('ReportName')) = lFN then
      Break;
    D.Next;
  end;
end;

function GetPassword:String;
begin
  if Trim(<Document_Company."Remark">) <> '' then
    Result := <Document_Company."Remark"> else
    Result := <plEMailTpl."PDFPassWord">;                                         
end;

function GetFldInfo(const AStr:String):String;
var D : TfrxDataSet;
    nStr : String;
    lSL,lPL : TStringList;
    i, j : integer;
begin
  nStr := AStr;
  lSL := TStringList.Create;
  lPL := TStringList.Create;
  with lPL do begin //Available Pipeline
    Add('Main');
    Add('Profile');
    Add('plEMailTpl');
  end;
  try
    for j:=0 to lPL.Count -1 do begin
      D := Report.GetDataSet(lPL[j]);
      D.GetFieldList(lSL);
      for i:=0 to lSL.Count -1 do begin
        if D.IsBlobField(lSL[i]) then
          nStr := StringReplace(nStr, '<'+ lPL[j] + '.' + lSL[i] + '>',D.Value(lSL[i])) else
         nStr := StringReplace(nStr, '<'+ lPL[j] + '.' + lSL[i] + '>',D.DisplayText(lSL[i]));
      end;
    end;
    Result := nStr;
  finally
    lSL.Free;
    lPL.Free;
  end;
end;

//For E-Mail Client (Batch)
procedure OnGetEmailSettings(EmailSettings: TStrings);
var vEmail, vName: Variant;
begin
  GetEMailTpl;
  vEmail := Trim(<Document_CompanyBranch."Email">);
  vName  := Trim(<Main."CompanyName">);

  if (vName <> '' ) and (vEmail <> '') then begin
    EmailSettings.Values['Recipients']  := vEmail;
    EmailSettings.Values['CC']          := <plEMailTpl."CC">;
    EmailSettings.Values['BCC']         := <plEMailTpl."BCC">;
    EmailSettings.Values['Subject']     := GetFldInfo(<plEMailTpl."Subject">);
    EmailSettings.Values['Body']        := GetFldInfo(RichTextToPlainText(<plEMailTpl."Body">));
    if Trim(<plEMailTpl."PDFFileName">) <> '' then
      EmailSettings.Values['FileName']    := GetFldInfo(<plEMailTpl."PDFFileName">);
    if Trim(GetPassword) <> '' then
      EmailSettings.Values['PDFPassword'] := GetPassword;
  end;
  //ID uses for display on progress dialog
  EmailSettings.Values['ID']        := vName;
end;

//For E-Mail (Native)
function SQL_Email_GetInfo(Info: Integer): string;
var vEmail, vName: Variant;
begin
  GetEMailTpl;
  Result := '';
  vEmail := Trim(<Document_CompanyBranch."Email">);
  vName := Trim(<Main."CompanyName">);

  if (vName <> '' ) and (vEmail <> '') then begin
    case Info of
      SQL_Email_Address: Result := vEmail;
      SQL_Email_Subject: Result := GetFldInfo(<plEMailTpl."Subject">);
      SQL_Email_Content: Result := GetFldInfo(RichTextToPlainText(<plEMailTpl."Body">));
    end;
  end;
end;
FR-EMail-02.jpg
03. Scroll down look for procedure SetUp
04. Copy below script & paste it between the begin & end; in procedure SetUp
  SQL := 'SELECT B.Description As ReportName, B.Description2 As Subject, B.Description3 As Body, '+
         'A.Address1 As CC, A.Address2 As BCC, B.Remark1 As PDFPassWord, B.Remark2 As PDFFileName ' +
         'FROM SL_QT A ' +
         'INNER JOIN SL_QTDTL B ON (A.Dockey=B.Dockey) ' +
         'WHERE A.DocNo=''EMAIL'' ' +
         'ORDER BY B.Seq ';
  AddDataSet('plEMailTpl', ['ReportName', 'Subject', 'Body', 'PDFPassWord', 'PDFFileName', 'CC', 'BCC'])
  .GetDBData(SQL);
05. Click File | Save As... to save the file (eg Sales Invoice 7 (GST 2)-Email)
06. Click File | Exit to exit the report design
07. Click Design again in the report designer for the file just save on Steps 5 (eg Sales Invoice 7 (GST 2)-Email)
08. Click the Code Tab
09. Remove the // at the First line of the Script
10. Click File | Save to save the file
11. Click File | Exit to exit the report design

Quotation

Menu: Sales | Quotation...

SQL Accounting can E Mail by different Subject & E Mail Content by report name

FR-EMail-03.jpg
Field Name Description
Address1 CC E-Mail Address
Address2 BCC E-Mail Address
Description Fast Report Name
Description2 E-Mail Subject
Description3 (More Description) E-Mail Content/Body
Remark1 Global PDF Password
Remark2 PDF FileName
Remark (Maintain Customer/Supplier) Private/Individual PDF Password
01. Create New Quotation
02. Copy below Sample E-Mail Template
Sample E-Mail Template
<?xml version="1.0" standalone="yes"?>
<DATAPACKET Version="2.0">
  <METADATA>
    <FIELDS>
      <FIELD attrname="DOCKEY" fieldtype="i4"/>
      <FIELD attrname="DOCNO" fieldtype="string.uni" WIDTH="40"/>
      <FIELD attrname="DOCNOEX" fieldtype="string.uni" WIDTH="40"/>
      <FIELD attrname="DOCDATE" fieldtype="date"/>
      <FIELD attrname="POSTDATE" fieldtype="date"/>
      <FIELD attrname="TAXDATE" fieldtype="date"/>
      <FIELD attrname="CODE" fieldtype="string.uni" WIDTH="20"/>
      <FIELD attrname="COMPANYNAME" fieldtype="string.uni" WIDTH="200"/>
      <FIELD attrname="ADDRESS1" fieldtype="string.uni" WIDTH="120"/>
      <FIELD attrname="ADDRESS2" fieldtype="string.uni" WIDTH="120"/>
      <FIELD attrname="ADDRESS3" fieldtype="string.uni" WIDTH="120"/>
      <FIELD attrname="ADDRESS4" fieldtype="string.uni" WIDTH="120"/>
      <FIELD attrname="PHONE1" fieldtype="string.uni" WIDTH="400"/>
      <FIELD attrname="FAX1" fieldtype="string.uni" WIDTH="400"/>
      <FIELD attrname="ATTENTION" fieldtype="string.uni" WIDTH="140"/>
      <FIELD attrname="AREA" fieldtype="string.uni" WIDTH="20"/>
      <FIELD attrname="AGENT" fieldtype="string.uni" WIDTH="20"/>
      <FIELD attrname="PROJECT" fieldtype="string.uni" WIDTH="40"/>
      <FIELD attrname="TERMS" fieldtype="string.uni" WIDTH="20"/>
      <FIELD attrname="CURRENCYCODE" fieldtype="string.uni" WIDTH="12"/>
      <FIELD attrname="CURRENCYRATE" fieldtype="fixedFMT" DECIMALS="8" WIDTH="19"/>
      <FIELD attrname="SHIPPER" fieldtype="string.uni" WIDTH="60"/>
      <FIELD attrname="DESCRIPTION" fieldtype="string.uni" WIDTH="400"/>
      <FIELD attrname="COUNTRY" fieldtype="string.uni" WIDTH="100"/>
      <FIELD attrname="CANCELLED" fieldtype="string.uni" WIDTH="2"/>
      <FIELD attrname="DOCAMT" fieldtype="fixedFMT" DECIMALS="2" WIDTH="19"/>
      <FIELD attrname="LOCALDOCAMT" fieldtype="fixedFMT" DECIMALS="2" WIDTH="19"/>
      <FIELD attrname="VALIDITY" fieldtype="string.uni" WIDTH="400"/>
      <FIELD attrname="DELIVERYTERM" fieldtype="string.uni" WIDTH="400"/>
      <FIELD attrname="CC" fieldtype="string.uni" WIDTH="400"/>
      <FIELD attrname="DOCREF1" fieldtype="string.uni" WIDTH="50"/>
      <FIELD attrname="DOCREF2" fieldtype="string.uni" WIDTH="50"/>
      <FIELD attrname="DOCREF3" fieldtype="string.uni" WIDTH="50"/>
      <FIELD attrname="DOCREF4" fieldtype="string.uni" WIDTH="50"/>
      <FIELD attrname="BRANCHNAME" fieldtype="string.uni" WIDTH="200"/>
      <FIELD attrname="DADDRESS1" fieldtype="string.uni" WIDTH="120"/>
      <FIELD attrname="DADDRESS2" fieldtype="string.uni" WIDTH="120"/>
      <FIELD attrname="DADDRESS3" fieldtype="string.uni" WIDTH="120"/>
      <FIELD attrname="DADDRESS4" fieldtype="string.uni" WIDTH="120"/>
      <FIELD attrname="DATTENTION" fieldtype="string.uni" WIDTH="140"/>
      <FIELD attrname="DPHONE1" fieldtype="string.uni" WIDTH="400"/>
      <FIELD attrname="DFAX1" fieldtype="string.uni" WIDTH="400"/>
      <FIELD attrname="ATTACHMENTS" fieldtype="bin.hex" SUBTYPE="Binary" WIDTH="8"/>
      <FIELD attrname="NOTE" fieldtype="bin.hex" SUBTYPE="Binary" WIDTH="8"/>
      <FIELD attrname="TRANSFERABLE" fieldtype="string.uni" WIDTH="2"/>
      <FIELD attrname="UPDATECOUNT" fieldtype="i4"/>
      <FIELD attrname="PRINTCOUNT" fieldtype="i4"/>
      <FIELD attrname="DOCNOSETKEY" fieldtype="i8"/>
      <FIELD attrname="NEXTDOCNO" fieldtype="string.uni" WIDTH="40"/>
      <FIELD attrname="CHANGED" fieldtype="string.uni" WIDTH="2"/>
      <FIELD attrname="sdsDocDetail" fieldtype="nested">
        <FIELDS>
          <FIELD attrname="DTLKEY" fieldtype="i4" required="true"/>
          <FIELD attrname="DOCKEY" fieldtype="i4" required="true"/>
          <FIELD attrname="SEQ" fieldtype="i4"/>
          <FIELD attrname="STYLEID" fieldtype="string.uni" WIDTH="10"/>
          <FIELD attrname="NUMBER" fieldtype="string.uni" WIDTH="10"/>
          <FIELD attrname="ITEMCODE" fieldtype="string.uni" WIDTH="60"/>
          <FIELD attrname="LOCATION" fieldtype="string.uni" WIDTH="40"/>
          <FIELD attrname="BATCH" fieldtype="string.uni" WIDTH="60"/>
          <FIELD attrname="PROJECT" fieldtype="string.uni" WIDTH="40"/>
          <FIELD attrname="DESCRIPTION" fieldtype="string.uni" WIDTH="400"/>
          <FIELD attrname="DESCRIPTION2" fieldtype="string.uni" WIDTH="400"/>
          <FIELD attrname="DESCRIPTION3" fieldtype="bin.hex" SUBTYPE="Binary" WIDTH="8"/>
          <FIELD attrname="PERMITNO" fieldtype="string.uni" WIDTH="40"/>
          <FIELD attrname="QTY" fieldtype="fixedFMT" DECIMALS="4" WIDTH="19"/>
          <FIELD attrname="UOM" fieldtype="string.uni" WIDTH="20"/>
          <FIELD attrname="RATE" fieldtype="fixedFMT" DECIMALS="4" WIDTH="19"/>
          <FIELD attrname="SQTY" fieldtype="fixedFMT" DECIMALS="4" WIDTH="19"/>
          <FIELD attrname="SUOMQTY" fieldtype="fixedFMT" DECIMALS="4" WIDTH="19"/>
          <FIELD attrname="UNITPRICE" fieldtype="fixedFMT" DECIMALS="8" WIDTH="19"/>
          <FIELD attrname="DELIVERYDATE" fieldtype="date"/>
          <FIELD attrname="DISC" fieldtype="string.uni" WIDTH="40"/>
          <FIELD attrname="TAX" fieldtype="string.uni" WIDTH="20"/>
          <FIELD attrname="TAXRATE" fieldtype="string.uni" WIDTH="40"/>
          <FIELD attrname="TAXAMT" fieldtype="fixedFMT" DECIMALS="2" WIDTH="19"/>
          <FIELD attrname="LOCALTAXAMT" fieldtype="fixedFMT" DECIMALS="2" WIDTH="19"/>
          <FIELD attrname="TAXINCLUSIVE" fieldtype="i2"/>
          <FIELD attrname="AMOUNT" fieldtype="fixedFMT" DECIMALS="2" WIDTH="19"/>
          <FIELD attrname="LOCALAMOUNT" fieldtype="fixedFMT" DECIMALS="2" WIDTH="19"/>
          <FIELD attrname="PRINTABLE" fieldtype="string.uni" WIDTH="2"/>
          <FIELD attrname="TRANSFERABLE" fieldtype="string.uni" WIDTH="2"/>
          <FIELD attrname="REMARK1" fieldtype="string.uni" WIDTH="400"/>
          <FIELD attrname="REMARK2" fieldtype="string.uni" WIDTH="400"/>
          <FIELD attrname="INITIALPURCHASECOST" fieldtype="fixedFMT" DECIMALS="2" WIDTH="19"/>
          <FIELD attrname="CHANGED" fieldtype="string.uni" required="true" WIDTH="2"/>
          <FIELD attrname="CompanyItemCode" fieldtype="string.uni" WIDTH="60"/>
        </FIELDS>
        <PARAMS/>
      </FIELD>
    </FIELDS>
    <PARAMS/>
  </METADATA>
  <ROWDATA>
    <ROW DOCKEY="76" DOCNO="EMAIL" DOCDATE="20171212" POSTDATE="20171212" TAXDATE="20171212" ADDRESS1="CC@mail.com.my,CC2@mail.com.my" ADDRESS2="BCC@mail.com.my,BCC2@mail.com.my" ADDRESS4="" AREA="----" AGENT="----" PROJECT="----" CURRENCYCODE="----" CURRENCYRATE="1.00000000" SHIPPER="----" DESCRIPTION="Quotation" CANCELLED="T" DOCAMT="0.00" LOCALDOCAMT="0.00" TRANSFERABLE="T" UPDATECOUNT="13" PRINTCOUNT="0" DOCNOSETKEY="0" CHANGED="F">
      <sdsDocDetail>
        <ROWsdsDocDetail DTLKEY="77" DOCKEY="76" SEQ="1" LOCATION="----" BATCH="" PROJECT="----" DESCRIPTION="Fast Report Name" DESCRIPTION2="E-Mail Subject" DESCRIPTION3="e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZGVmZjBcbm91aWNvbXBhdHtcZm9udHRibHtcZjBcZm5pbFxmY2hhcnNldDAgVGFob21hO317XGYxXGZuaWwgVGFob21hO319DQp7XCpcZ2VuZXJhdG9yIFJpY2hlZDIwIDEwLjAuMTA1ODZ9XHZpZXdraW5kNFx1YzEgDQpccGFyZFxmMFxmczE4XGxhbmcxMDMzIEUtTWFpbCBCb2R5XHBhcg0KT25seSBQbGFpbiBUZXh0XGYxXHBhcg0KfQ0KAA==" QTY="0.0000" RATE="1.0000" SQTY="0.0000" SUOMQTY="0.0000" UNITPRICE="0.00000000" DELIVERYDATE="20160416" DISC="" TAX="" TAXAMT="0.00" LOCALTAXAMT="0.00" TAXINCLUSIVE="0" AMOUNT="0.00" LOCALAMOUNT="0.00" PRINTABLE="T" TRANSFERABLE="T" REMARK1="Global PDF Password" REMARK2="PDF FileName" INITIALPURCHASECOST="0.00" CHANGED="F"/>
        <ROWsdsDocDetail DTLKEY="78" DOCKEY="76" SEQ="2" LOCATION="----" BATCH="" PROJECT="----" DESCRIPTION="Sales Invoice 7 (GST 1)" DESCRIPTION2="Invoice :  &lt;Main.DocNo&gt; - &lt;Main.CompanyName&gt;" DESCRIPTION3="e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZGVmZjBcbm91aWNvbXBhdHtcZm9udHRibHtcZjBcZm5pbFxmY2hhcnNldDAgVGFob21hO317XGYxXGZzd2lzc1xmY2hhcnNldDEzNCBNaWNyb3NvZnQgWWFIZWk7fX0NCntcKlxnZW5lcmF0b3IgUmljaGVkMjAgMTAuMC4xNDM5M31cdmlld2tpbmQ0XHVjMSANClxwYXJkXGYwXGZzMThcbGFuZzEwMzMgRGVhciA8TWFpbi5BdHRlbnRpb24+LFxwYXINCihcZjFcJ2NjXCdlY1wnYjNcJ2NmXGYwIClccGFyDQpUaGlzIGlzIGFuIGF1dG8tZ2VuZXJhdGVkIGVtYWlsLCBwbGVhc2UgZG8gbm90IHJlcGx5IHRvIHRoaXMgZW1haWwuXHBhcg0KXHBhcg0KUGxlYXNlIGNoZWNrIHRoZSBhdHRhY2htZW50IGZvciBvdXIgVGF4IEludm9pY2UgOi0gPE1haW4uRG9jTm8+XHBhcg0KXHBhcg0KXHBhcg0KQmVzdCBSZWdhcmRzLFxwYXINCjxQcm9maWxlLkNvbXBhbnlOYW1lPlxwYXINCn0NCgA=" QTY="0.0000" RATE="1.0000" SQTY="0.0000" SUOMQTY="0.0000" UNITPRICE="0.00000000" DELIVERYDATE="20160416" DISC="" TAX="" TAXAMT="0.00" LOCALTAXAMT="0.00" TAXINCLUSIVE="0" AMOUNT="0.00" LOCALAMOUNT="0.00" PRINTABLE="T" TRANSFERABLE="T" REMARK1="" INITIALPURCHASECOST="0.00" CHANGED="F"/>
        <ROWsdsDocDetail DTLKEY="83" DOCKEY="76" SEQ="3" LOCATION="----" BATCH="" PROJECT="----" DESCRIPTION="Sales Invoice 7 (GST 2)" DESCRIPTION2="Invoice :  &lt;Main.DocNo&gt; - &lt;Main.CompanyName&gt;" DESCRIPTION3="e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZGVmZjBcbm91aWNvbXBhdHtcZm9udHRibHtcZjBcZm5pbFxmY2hhcnNldDAgVGFob21hO319DQp7XCpcZ2VuZXJhdG9yIFJpY2hlZDIwIDEwLjAuMTA1ODZ9XHZpZXdraW5kNFx1YzEgDQpccGFyZFxmMFxmczE4XGxhbmcxMDMzIERlYXIgPE1haW4uQXR0ZW50aW9uPixccGFyDQpccGFyDQpUaGlzIGlzIGFuIGF1dG8tZ2VuZXJhdGVkIGVtYWlsLCBwbGVhc2UgZG8gbm90IHJlcGx5IHRvIHRoaXMgZW1haWwuXHBhcg0KXHBhcg0KUGxlYXNlIGNoZWNrIHRoZSBhdHRhY2htZW50IGZvciBvdXIgVGF4IEludm9pY2UgOi0gPE1haW4uRG9jTm8+XHBhcg0KXHBhcg0KXHBhcg0KQmVzdCBSZWdhcmRzLFxwYXINCjxQcm9maWxlLkNvbXBhbnlOYW1lPlxwYXINCn0NCgA=" QTY="0.0000" RATE="1.0000" SQTY="0.0000" SUOMQTY="0.0000" UNITPRICE="0.00000000" DELIVERYDATE="20160416" DISC="" TAX="" TAXAMT="0.00" LOCALTAXAMT="0.00" TAXINCLUSIVE="0" AMOUNT="0.00" LOCALAMOUNT="0.00" PRINTABLE="T" TRANSFERABLE="T" REMARK1="" INITIALPURCHASECOST="0.00" CHANGED="F"/>
        <ROWsdsDocDetail DTLKEY="79" DOCKEY="76" SEQ="4" LOCATION="----" BATCH="" PROJECT="----" DESCRIPTION="Cust Statement 06 Mths 1" DESCRIPTION2="Statement : &lt;Main.CompanyName&gt; - [&lt;Parameter.StatementDate&gt;]" DESCRIPTION3="e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZGVmZjBcbm91aWNvbXBhdHtcZm9udHRibHtcZjBcZm5pbFxmY2hhcnNldDAgVGFob21hO317XGYxXGZuaWwgVGFob21hO319DQp7XCpcZ2VuZXJhdG9yIFJpY2hlZDIwIDEwLjAuMTA1ODZ9XHZpZXdraW5kNFx1YzEgDQpccGFyZFxmMFxmczE4XGxhbmcxMDMzIERlYXIgPENvbXBhbnkuQXR0ZW50aW9uPixccGFyDQpccGFyDQpUaGlzIGlzIGFuIGF1dG8tZ2VuZXJhdGVkIGVtYWlsLCBwbGVhc2UgZG8gbm90IHJlcGx5IHRvIHRoaXMgZW1haWwuXHBhcg0KXHBhcg0KUGxlYXNlIGNoZWNrIHRoZSBhdHRhY2htZW50IGZvciBzdGF0ZW1lbnQgb2YgPFBhcmFtZXRlci5TdGF0ZW1lbnREYXRlPlxwYXINClxwYXINClxwYXINCkJlc3QgUmVnYXJkcyxccGFyDQo8UHJvZmlsZS5Db21wYW55TmFtZT5ccGFyDQpcZjFccGFyDQp9DQoA" QTY="0.0000" RATE="1.0000" SQTY="0.0000" SUOMQTY="0.0000" UNITPRICE="0.00000000" DELIVERYDATE="20160416" DISC="" TAX="" TAXAMT="0.00" LOCALTAXAMT="0.00" TAXINCLUSIVE="0" AMOUNT="0.00" LOCALAMOUNT="0.00" PRINTABLE="T" TRANSFERABLE="T" INITIALPURCHASECOST="0.00" CHANGED="F"/>
        <ROWsdsDocDetail DTLKEY="84" DOCKEY="76" SEQ="5" LOCATION="----" BATCH="" PROJECT="----" DESCRIPTION="GL Official Receipt - Detail - Half (GST)" DESCRIPTION2="Official Receipt : &lt;Main.DocNo&gt; - &lt;Document_Detail.Description&gt;" DESCRIPTION3="e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZGVmZjBcbm91aWNvbXBhdHtcZm9udHRibHtcZjBcZm5pbFxmY2hhcnNldDAgVGFob21hO317XGYxXGZuaWwgVGFob21hO319DQp7XCpcZ2VuZXJhdG9yIFJpY2hlZDIwIDEwLjAuMTA1ODZ9XHZpZXdraW5kNFx1YzEgDQpccGFyZFxmMFxmczE4XGxhbmcxMDMzIERlYXIgPENvbXBhbnlfSW5mby5BdHRlbnRpb24+LFxwYXINClxwYXINClRoaXMgaXMgYW4gYXV0by1nZW5lcmF0ZWQgZW1haWwsIHBsZWFzZSBkbyBub3QgcmVwbHkgdG8gdGhpcyBlbWFpbC5ccGFyDQpccGFyDQpQbGVhc2UgY2hlY2sgdGhlIGF0dGFjaG1lbnQgZm9yIG91ciBPZmZpY2lhbCBSZWNlaXB0IDotIDxNYWluLkRvY05vPlxwYXINClxwYXINClxwYXINCkJlc3QgUmVnYXJkcyxccGFyDQo8UHJvZmlsZS5Db21wYW55TmFtZT5ccGFyDQpcZjFccGFyDQp9DQoA" QTY="0.0000" RATE="1.0000" SQTY="0.0000" SUOMQTY="0.0000" UNITPRICE="0.00000000" DELIVERYDATE="20160825" DISC="" TAX="" TAXAMT="0.00" LOCALTAXAMT="0.00" TAXINCLUSIVE="0" AMOUNT="0.00" LOCALAMOUNT="0.00" PRINTABLE="T" TRANSFERABLE="T" REMARK1="" REMARK2="" INITIALPURCHASECOST="0.00" CHANGED="F"/>
        <ROWsdsDocDetail DTLKEY="1075" DOCKEY="76" SEQ="6" LOCATION="----" BATCH="" PROJECT="----" DESCRIPTION="Sales Invoice 7 (GST 1)-Mail" DESCRIPTION2="Invoice :  &lt;Main.DocNo&gt; - &lt;Main.CompanyName&gt;" DESCRIPTION3="e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZGVmZjBcbm91aWNvbXBhdHtcZm9udHRibHtcZjBcZm5pbFxmY2hhcnNldDAgVGFob21hO317XGYxXGZzd2lzc1xmY2hhcnNldDEzNCBNaWNyb3NvZnQgWWFIZWk7fX0NCntcKlxnZW5lcmF0b3IgUmljaGVkMjAgMTAuMC4xNDM5M31cdmlld2tpbmQ0XHVjMSANClxwYXJkXGYwXGZzMThcbGFuZzEwMzMgRGVhciA8TWFpbi5BdHRlbnRpb24+LFxwYXINCihcZjFcJ2NjXCdlY1wnYjNcJ2NmXGYwIClccGFyDQpUaGlzIGlzIGFuIGF1dG8tZ2VuZXJhdGVkIGVtYWlsLCBwbGVhc2UgZG8gbm90IHJlcGx5IHRvIHRoaXMgZW1haWwuXHBhcg0KXHBhcg0KUGxlYXNlIGNoZWNrIHRoZSBhdHRhY2htZW50IGZvciBvdXIgVGF4IEludm9pY2UgOi0gPE1haW4uRG9jTm8+XHBhcg0KXHBhcg0KXHBhcg0KQmVzdCBSZWdhcmRzLFxwYXINCjxQcm9maWxlLkNvbXBhbnlOYW1lPlxwYXINCn0NCgA=" QTY="0.0000" RATE="1.0000" SQTY="0.0000" SUOMQTY="0.0000" UNITPRICE="0.00000000" DELIVERYDATE="20160416" DISC="" TAX="" TAXAMT="0.00" LOCALTAXAMT="0.00" TAXINCLUSIVE="0" AMOUNT="0.00" LOCALAMOUNT="0.00" PRINTABLE="T" TRANSFERABLE="T" REMARK1="12@Abc" REMARK2="&lt;plEMailTpl.ReportName&gt; - &lt;Main.DocNo&gt; - &lt;Main.CompanyName&gt;" INITIALPURCHASECOST="0.00" CHANGED="F"/>
        <ROWsdsDocDetail DTLKEY="82" DOCKEY="76" SEQ="7" LOCATION="----" BATCH="" PROJECT="----" DESCRIPTION="Default Template" DESCRIPTION2="&lt;Main.DocNo&gt;" DESCRIPTION3="e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZGVmZjBcbm91aWNvbXBhdHtcZm9udHRibHtcZjBcZm5pbFxmY2hhcnNldDAgVGFob21hO319DQp7XCpcZ2VuZXJhdG9yIFJpY2hlZDIwIDEwLjAuMTA1ODZ9XHZpZXdraW5kNFx1YzEgDQpccGFyZFxmMFxmczE4XGxhbmcxMDMzIERlYXIgU2lyL01hZGFtLFxwYXINClNlZSBhdHRhY2htZW50Li4uXHBhcg0KXHBhcg0KVGhpcyBpcyBhbiBhdXRvLWdlbmVyYXRlZCBlbWFpbCwgcGxlYXNlIGRvIG5vdCByZXBseSB0byB0aGlzIGVtYWlsLlxwYXINClxwYXINClxwYXINCkJlc3QgUmVnYXJkcyxccGFyDQo8UHJvZmlsZS5Db21wYW55TmFtZT5ccGFyDQpccGFyDQp9DQoA" QTY="0.0000" RATE="1.0000" SQTY="0.0000" SUOMQTY="0.0000" UNITPRICE="0.00000000" DELIVERYDATE="20160418" DISC="" TAX="" TAXAMT="0.00" LOCALTAXAMT="0.00" TAXINCLUSIVE="0" AMOUNT="0.00" LOCALAMOUNT="0.00" PRINTABLE="T" TRANSFERABLE="T" INITIALPURCHASECOST="0.00" CHANGED="F"/>
      </sdsDocDetail>
    </ROW>
  </ROWDATA>
</DATAPACKET>
03. Right Click at the empty space below the Browse button
04. Select Paste Quotation
05. Set the Quot No to EMAIL
06. Click Save after done change the E-Mail Subject/Content/Body & other fields

Template.Tips-01.jpg
  • User can use eg <Main.DocNo> (<Pipeline.FieldName>) to show variable data
(eg Document Number) in the E-Mail Subject & Body.
  • The Pipeline name & FieldName is from the Report Designer Pipeline name & Field Name
  • Default Template(Must set at last Row) is use if system can't find the Report Name in the
Description field.

Maintain Employee

Menu: Human Resource | Employee...

Version 1.2020.182.158 & above

Only available in Version 1.2020.182.158 & above.

FR-EMail-06.jpg
Field Name Description
Phone1 CC E-Mail Address
Phone2 BCC E-Mail Address
Address4 PDF FileName
Mobile E-Mail Subject
Note E-Mail Content/Body
Name2 Global PDF Password
Name2 (For Each Employee) Private/Individual PDF Password

Version 1.2021.196.166 & above

FR-EMail-07.jpg
Section Name Description
[CC] CC E-Mail Address
[BCC] BCC E-Mail Address
[PDFFileName] PDF FileName
[Subject] E-Mail Subject
[Body] E-Mail Content/Body
[GlobalPassword] Global PDF Password
[PrivatePassword] For Each Employee Private/Individual PDF Password
  • EmployeeCode=Password

eg For employee Code 0004 with password test 123

  • 0004="test 123"
[UseName2] To use Employee Name 2 as password
  • Available in Version 1.2021.206.174 & above
  • 1 = Enable
  • 0 = Disable

Template.Warning-01.jpg For Version 1.2021.196.166 & above
Avoid use following character
  • [
  • ]
  • "
  • =

Available Function Description Available Report
GetTitle Get report title
  • Payslip
  • EA
  • EC
GetMonth Get Process Month & Year Payslip
UseNameICPass For PDF password
  • The first character of Employee Name (in uppercase)
  • Second character is @
  • The subsequent 6 characters is the last 6 digits of NRIC or Passport Number
  • Eg Name : Erza Scarlet NRIC : 800818-10-4858 Output => E@104858
  • Available in Version 1.2022.214.179 & above
  • Payslip
  • EA
  • EC
01. Create New Employee
02. Copy below Sample E-Mail Template
Sample E-Mail Template (Version 1.2020.182.158 & above)
<?xml version="1.0" standalone="yes"?>
<DATAPACKET Version="2.0">
  <METADATA>
    <FIELDS>
      <FIELD attrname="AUTOKEY" fieldtype="i8" required="true"/>
      <FIELD attrname="CODE" fieldtype="string.uni" required="true" WIDTH="60"/>
      <FIELD attrname="NAME" fieldtype="string.uni" WIDTH="320"/>
      <FIELD attrname="NAME2" fieldtype="string.uni" WIDTH="320"/>
      <FIELD attrname="GENDER" fieldtype="string.uni" required="true" WIDTH="2"/>
      <FIELD attrname="DOB" fieldtype="date"/>
      <FIELD attrname="ADDRESS1" fieldtype="string.uni" WIDTH="120"/>
      <FIELD attrname="ADDRESS2" fieldtype="string.uni" WIDTH="120"/>
      <FIELD attrname="ADDRESS3" fieldtype="string.uni" WIDTH="120"/>
      <FIELD attrname="ADDRESS4" fieldtype="string.uni" WIDTH="120"/>
      <FIELD attrname="PHONE1" fieldtype="string.uni" WIDTH="400"/>
      <FIELD attrname="PHONE2" fieldtype="string.uni" WIDTH="400"/>
      <FIELD attrname="MOBILE" fieldtype="string.uni" WIDTH="400"/>
      <FIELD attrname="EMAIL" fieldtype="string.uni" WIDTH="400"/>
      <FIELD attrname="NEWIC" fieldtype="string.uni" WIDTH="40"/>
      <FIELD attrname="OLDIC" fieldtype="string.uni" WIDTH="40"/>
      <FIELD attrname="PASSPORT" fieldtype="string.uni" WIDTH="40"/>
      <FIELD attrname="IMMIGRATIONNO" fieldtype="string.uni" WIDTH="40"/>
      <FIELD attrname="BRANCH" fieldtype="string.uni" required="true" WIDTH="40"/>
      <FIELD attrname="HRGROUP" fieldtype="string.uni" required="true" WIDTH="40"/>
      <FIELD attrname="DEPARTMENT" fieldtype="string.uni" required="true" WIDTH="40"/>
      <FIELD attrname="CATEGORY" fieldtype="string.uni" required="true" WIDTH="40"/>
      <FIELD attrname="PROJECT" fieldtype="string.uni" required="true" WIDTH="40"/>
      <FIELD attrname="JOB" fieldtype="string.uni" required="true" WIDTH="40"/>
      <FIELD attrname="TASK" fieldtype="string.uni" required="true" WIDTH="40"/>
      <FIELD attrname="COUNTRY" fieldtype="string.uni" required="true" WIDTH="4"/>
      <FIELD attrname="RACE" fieldtype="string.uni" required="true" WIDTH="40"/>
      <FIELD attrname="CALENDAR" fieldtype="string.uni" required="true" WIDTH="40"/>
      <FIELD attrname="oISMANAGER" fieldtype="i2"/>
      <FIELD attrname="oMGRAPPROVAL" fieldtype="i2"/>
      <FIELD attrname="JOBTITLE" fieldtype="string.uni" WIDTH="120"/>
      <FIELD attrname="JOINDATE" fieldtype="date"/>
      <FIELD attrname="CONFIRMDATE" fieldtype="date"/>
      <FIELD attrname="RESIGNDATE" fieldtype="date"/>
      <FIELD attrname="MARITALSTATUS" fieldtype="string.uni" WIDTH="2"/>
      <FIELD attrname="oISACTIVE" fieldtype="i2"/>
      <FIELD attrname="WAGESTYPE" fieldtype="string.uni" required="true" WIDTH="40"/>
      <FIELD attrname="WAGES" fieldtype="fixedFMT" DECIMALS="4" WIDTH="19"/>
      <FIELD attrname="CONTRIB" fieldtype="string.uni" required="true" WIDTH="40"/>
      <FIELD attrname="FREQUENCY" fieldtype="string.uni" required="true" WIDTH="40"/>
      <FIELD attrname="PAYMENTMETHOD" fieldtype="string.uni" required="true" WIDTH="40"/>
      <FIELD attrname="BANK" fieldtype="string.uni" WIDTH="12"/>
      <FIELD attrname="BANKACCNO" fieldtype="string.uni" WIDTH="40"/>
      <FIELD attrname="EPFNO" fieldtype="string.uni" WIDTH="40"/>
      <FIELD attrname="NK" fieldtype="string.uni" WIDTH="2"/>
      <FIELD attrname="INITIAL" fieldtype="string.uni" WIDTH="6"/>
      <FIELD attrname="SOCSONO" fieldtype="string.uni" WIDTH="40"/>
      <FIELD attrname="SOCSOTYPE" fieldtype="i4"/>
      <FIELD attrname="EISTYPE" fieldtype="i4"/>
      <FIELD attrname="EISCATEGORY" fieldtype="i4"/>
      <FIELD attrname="TAXCATEGORY" fieldtype="string.uni" WIDTH="20"/>
      <FIELD attrname="TAXBRANCH" fieldtype="string.uni" WIDTH="80"/>
      <FIELD attrname="TAXNO" fieldtype="string.uni" WIDTH="40"/>
      <FIELD attrname="oDISABLED" fieldtype="i2"/>
      <FIELD attrname="oRESIDENT" fieldtype="i2"/>
      <FIELD attrname="EASERIALNO" fieldtype="string.uni" WIDTH="40"/>
      <FIELD attrname="SPOUSENAME" fieldtype="string.uni" WIDTH="320"/>
      <FIELD attrname="SPOUSEADDRESS1" fieldtype="string.uni" WIDTH="120"/>
      <FIELD attrname="SPOUSEADDRESS2" fieldtype="string.uni" WIDTH="120"/>
      <FIELD attrname="SPOUSEADDRESS3" fieldtype="string.uni" WIDTH="120"/>
      <FIELD attrname="SPOUSEADDRESS4" fieldtype="string.uni" WIDTH="120"/>
      <FIELD attrname="SPOUSEPHONE1" fieldtype="string.uni" WIDTH="400"/>
      <FIELD attrname="SPOUSEPHONE2" fieldtype="string.uni" WIDTH="400"/>
      <FIELD attrname="SPOUSEMOBILE" fieldtype="string.uni" WIDTH="400"/>
      <FIELD attrname="SPOUSETAXBRANCH" fieldtype="string.uni" WIDTH="80"/>
      <FIELD attrname="SPOUSETAXNO" fieldtype="string.uni" WIDTH="40"/>
      <FIELD attrname="SPOUSEICNO" fieldtype="string.uni" WIDTH="40"/>
      <FIELD attrname="oSPOUSEWORKING" fieldtype="i2"/>
      <FIELD attrname="oSPOUSEDISABLED" fieldtype="i2"/>
      <FIELD attrname="LEAVEGROUP" fieldtype="string.uni" required="true" WIDTH="40"/>
      <FIELD attrname="PHOTO" fieldtype="bin.hex" SUBTYPE="Binary" WIDTH="8"/>
      <FIELD attrname="NOTE" fieldtype="bin.hex" SUBTYPE="Binary" WIDTH="8"/>
      <FIELD attrname="ATTACHMENTS" fieldtype="bin.hex" SUBTYPE="Binary" WIDTH="8"/>
      <FIELD attrname="ROWVER" fieldtype="i4"/>
      <FIELD attrname="DocNoSetKey" fieldtype="i8"/>
      <FIELD attrname="Disabled" fieldtype="boolean"/>
      <FIELD attrname="Resident" fieldtype="boolean"/>
      <FIELD attrname="SpouseWorking" fieldtype="boolean"/>
      <FIELD attrname="SpouseDisabled" fieldtype="boolean"/>
      <FIELD attrname="IsActive" fieldtype="boolean"/>
      <FIELD attrname="IsManager" fieldtype="boolean"/>
      <FIELD attrname="MgrApproval" fieldtype="boolean"/>
      <FIELD attrname="OverrideTaxCategory" fieldtype="boolean"/>
      <FIELD attrname="SysCalcTaxCategory" fieldtype="string.uni" WIDTH="20"/>
      <FIELD attrname="Dirty" fieldtype="boolean"/>
      <FIELD attrname="Manager" fieldtype="nested">
        <FIELDS>
          <FIELD attrname="AUTOKEY" fieldtype="i8" required="true"/>
          <FIELD attrname="CODE" fieldtype="string.uni" required="true" WIDTH="60"/>
          <FIELD attrname="BRANCH" fieldtype="string.uni" WIDTH="40"/>
          <FIELD attrname="DEPARTMENT" fieldtype="string.uni" WIDTH="40"/>
          <FIELD attrname="ROWVER" fieldtype="i4"/>
        </FIELDS>
        <PARAMS/>
      </FIELD>
      <FIELD attrname="History" fieldtype="nested">
        <FIELDS>
          <FIELD attrname="AUTOKEY" fieldtype="i8" required="true"/>
          <FIELD attrname="CODE" fieldtype="string.uni" required="true" WIDTH="60"/>
          <FIELD attrname="POSTDATE" fieldtype="date" required="true"/>
          <FIELD attrname="HISTORYTYPE" fieldtype="string.uni" required="true" WIDTH="40"/>
          <FIELD attrname="DESCRIPTION" fieldtype="string.uni" WIDTH="320"/>
          <FIELD attrname="ROWVER" fieldtype="i4"/>
        </FIELDS>
        <PARAMS/>
      </FIELD>
      <FIELD attrname="Child" fieldtype="nested">
        <FIELDS>
          <FIELD attrname="AUTOKEY" fieldtype="i8" required="true"/>
          <FIELD attrname="CODE" fieldtype="string.uni" required="true" WIDTH="60"/>
          <FIELD attrname="NAME" fieldtype="string.uni" WIDTH="320"/>
          <FIELD attrname="DOB" fieldtype="date"/>
          <FIELD attrname="RATE" fieldtype="fixedFMT" DECIMALS="1" WIDTH="9"/>
          <FIELD attrname="TAXCODE" fieldtype="string.uni" WIDTH="40"/>
          <FIELD attrname="ROWVER" fieldtype="i4"/>
          <FIELD attrname="NumOfChildren" fieldtype="fixed" DECIMALS="4" WIDTH="32"/>
        </FIELDS>
        <PARAMS/>
      </FIELD>
      <FIELD attrname="Deduction" fieldtype="nested">
        <FIELDS>
          <FIELD attrname="AUTOKEY" fieldtype="i8" required="true"/>
          <FIELD attrname="CODE" fieldtype="string.uni" required="true" WIDTH="60"/>
          <FIELD attrname="PICODE" fieldtype="string.uni" required="true" WIDTH="40"/>
          <FIELD attrname="DESCRIPTION" fieldtype="string.uni" WIDTH="320"/>
          <FIELD attrname="WORKUNIT" fieldtype="fixedFMT" DECIMALS="8" WIDTH="19"/>
          <FIELD attrname="RATE" fieldtype="fixedFMT" DECIMALS="8" WIDTH="19"/>
          <FIELD attrname="CONTRIBATTR" fieldtype="i4"/>
          <FIELD attrname="DEDUCTATTR" fieldtype="i4"/>
          <FIELD attrname="DEDUCTTYPE" fieldtype="string.uni" WIDTH="4"/>
          <FIELD attrname="DATEFROM" fieldtype="date"/>
          <FIELD attrname="DATETO" fieldtype="date"/>
          <FIELD attrname="ROWVER" fieldtype="i4"/>
          <FIELD attrname="EPF" fieldtype="boolean"/>
          <FIELD attrname="SOCSO" fieldtype="boolean"/>
          <FIELD attrname="PCB" fieldtype="boolean"/>
          <FIELD attrname="OT" fieldtype="boolean"/>
          <FIELD attrname="EA" fieldtype="boolean"/>
          <FIELD attrname="HRDF" fieldtype="boolean"/>
          <FIELD attrname="PA" fieldtype="boolean"/>
          <FIELD attrname="EIS" fieldtype="boolean"/>
          <FIELD attrname="Zakat" fieldtype="boolean"/>
        </FIELDS>
        <PARAMS/>
      </FIELD>
      <FIELD attrname="Allowance" fieldtype="nested">
        <FIELDS>
          <FIELD attrname="AUTOKEY" fieldtype="i8" required="true"/>
          <FIELD attrname="CODE" fieldtype="string.uni" required="true" WIDTH="60"/>
          <FIELD attrname="PICODE" fieldtype="string.uni" required="true" WIDTH="40"/>
          <FIELD attrname="DESCRIPTION" fieldtype="string.uni" WIDTH="320"/>
          <FIELD attrname="WORKUNIT" fieldtype="fixedFMT" DECIMALS="8" WIDTH="19"/>
          <FIELD attrname="RATE" fieldtype="fixedFMT" DECIMALS="8" WIDTH="19"/>
          <FIELD attrname="CONTRIBATTR" fieldtype="i4"/>
          <FIELD attrname="TAXCODE" fieldtype="string.uni" WIDTH="40"/>
          <FIELD attrname="DATEFROM" fieldtype="date"/>
          <FIELD attrname="DATETO" fieldtype="date"/>
          <FIELD attrname="ROWVER" fieldtype="i4"/>
          <FIELD attrname="EPF" fieldtype="boolean"/>
          <FIELD attrname="SOCSO" fieldtype="boolean"/>
          <FIELD attrname="PCB" fieldtype="boolean"/>
          <FIELD attrname="OT" fieldtype="boolean"/>
          <FIELD attrname="EA" fieldtype="boolean"/>
          <FIELD attrname="HRDF" fieldtype="boolean"/>
          <FIELD attrname="PA" fieldtype="boolean"/>
          <FIELD attrname="EIS" fieldtype="boolean"/>
        </FIELDS>
        <PARAMS/>
      </FIELD>
    </FIELDS>
    <PARAMS MD_SEMANTICS="3">
      <PARAM Name="KeyField" Value="QXV0b0tleQ==" Roundtrip="True"/>
      <PARAM Name="CanInsert" Value="TRUE" Type="boolean" Roundtrip="True"/>
      <PARAM Name="CanEdit" Value="TRUE" Type="boolean" Roundtrip="True"/>
      <PARAM Name="CanDelete" Value="TRUE" Type="boolean" Roundtrip="True"/>
      <PARAM Name="Generate_History" Value="TRUE" Type="boolean" Roundtrip="True"/>
      <PARAM Name="Main" Value="V2FnZXMsSm9iVGl0bGU=" Roundtrip="True"/>
      <PARAM Name="More" Value="QnJhbmNoLEhSR3JvdXAsRGVwYXJ0bWVudCxDYXRlZ29yeSxQcm9qZWN0LEpvYixUYXNrLENvdW50cnksV2FnZXNUeXBlLExlYXZlR3JvdXAsTWFyaXRhbFN0YXR1cyxDb250cmliLEZyZXF1ZW5jeQ==" Roundtrip="True"/>
      <PARAM Name="ID" Value="SFJfRU1Q" Roundtrip="True"/>
      <PARAM Name="DatabaseBrand" Value="RmlyZWJpcmQ=" Roundtrip="True"/>
    </PARAMS>
  </METADATA>
  <ROWDATA>
    <ROW AUTOKEY="18" CODE="EMAIL" NAME2="Global PDF Password" GENDER="M" ADDRESS1="" ADDRESS2="" ADDRESS3="" ADDRESS4="EA-&lt;Employee.Code&gt;-2019" PHONE1="CC@mail.com.my,CC2@mail.com.my" PHONE2="BCC@mail.com.my,BCC2@mail.com.my" MOBILE="&lt;Employee.Code&gt; - Statement Of Remuneration From Employment For The Year 2019" EMAIL="" BRANCH="----" HRGROUP="----" DEPARTMENT="----" CATEGORY="----" PROJECT="----" JOB="----" TASK="----" COUNTRY="MY" RACE="----" CALENDAR="----" oISMANAGER="0" oMGRAPPROVAL="0" JOBTITLE="" MARITALSTATUS="S" oISACTIVE="0" WAGESTYPE="----" WAGES="0.0000" CONTRIB="----" FREQUENCY="----" PAYMENTMETHOD="----" SOCSOTYPE="1" EISTYPE="1" EISCATEGORY="0" oDISABLED="0" oRESIDENT="1" oSPOUSEWORKING="0" oSPOUSEDISABLED="0" LEAVEGROUP="----" NOTE="e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZGVmZjBcZGVmbGFuZzEwMzN7XGZvbnR0Ymx7XGYwXGZuaWxcZmNoYXJzZXQwIFRhaG9tYTt9fQ0KXHZpZXdraW5kNFx1YzFccGFyZFxmMFxmczE0IERlYXIgPEVtcGxveWVlLk5hbWU+LFxwYXINClxwYXINClxwYXINClBsZWFzZSBjaGVjayB0aGUgYXR0YWNobWVudCBmb3IgLi4uXHBhcg0KXHBhcg0KQmVzdCBSZWdhcmRzLFxwYXINCjxQcm9maWxlLkNvbXBhbnlOYW1lPlxwYXINCn0NCgA=" ROWVER="40" Disabled="FALSE" Resident="TRUE" SpouseWorking="FALSE" SpouseDisabled="FALSE" IsActive="FALSE" IsManager="FALSE" MgrApproval="FALSE" OverrideTaxCategory="FALSE" Dirty="FALSE">
      <Manager/>
      <History/>
      <Child/>
      <Deduction/>
      <Allowance/>
    </ROW>
  </ROWDATA>
</DATAPACKET>
Sample E-Mail Template (Version 1.2021.196.166 & above)

<?xml version="1.0" standalone="yes"?> <DATAPACKET Version="2.0">

 <METADATA>
   <FIELDS>
     <FIELD attrname="AUTOKEY" fieldtype="i8" required="true"/>
     <FIELD attrname="CODE" fieldtype="string.uni" required="true" WIDTH="60"/>
     <FIELD attrname="NAME" fieldtype="string.uni" WIDTH="320"/>
     <FIELD attrname="NAME2" fieldtype="string.uni" WIDTH="320"/>
     <FIELD attrname="GENDER" fieldtype="string.uni" required="true" WIDTH="2"/>
     <FIELD attrname="DOB" fieldtype="date"/>
     <FIELD attrname="ADDRESS1" fieldtype="string.uni" WIDTH="120"/>
     <FIELD attrname="ADDRESS2" fieldtype="string.uni" WIDTH="120"/>
     <FIELD attrname="ADDRESS3" fieldtype="string.uni" WIDTH="120"/>
     <FIELD attrname="ADDRESS4" fieldtype="string.uni" WIDTH="120"/>
     <FIELD attrname="PHONE1" fieldtype="string.uni" WIDTH="400"/>
     <FIELD attrname="PHONE2" fieldtype="string.uni" WIDTH="400"/>
     <FIELD attrname="MOBILE" fieldtype="string.uni" WIDTH="400"/>
     <FIELD attrname="EMAIL" fieldtype="string.uni" WIDTH="400"/>
     <FIELD attrname="NEWIC" fieldtype="string.uni" WIDTH="40"/>
     <FIELD attrname="OLDIC" fieldtype="string.uni" WIDTH="40"/>
     <FIELD attrname="PASSPORT" fieldtype="string.uni" WIDTH="40"/>
     <FIELD attrname="IMMIGRATIONNO" fieldtype="string.uni" WIDTH="40"/>
     <FIELD attrname="BRANCH" fieldtype="string.uni" required="true" WIDTH="40"/>
     <FIELD attrname="HRGROUP" fieldtype="string.uni" required="true" WIDTH="40"/>
     <FIELD attrname="DEPARTMENT" fieldtype="string.uni" required="true" WIDTH="40"/>
     <FIELD attrname="CATEGORY" fieldtype="string.uni" required="true" WIDTH="40"/>
     <FIELD attrname="PROJECT" fieldtype="string.uni" required="true" WIDTH="40"/>
     <FIELD attrname="JOB" fieldtype="string.uni" required="true" WIDTH="40"/>
     <FIELD attrname="TASK" fieldtype="string.uni" required="true" WIDTH="40"/>
     <FIELD attrname="NATIONALITY" fieldtype="string.uni" required="true" WIDTH="4"/>
     <FIELD attrname="RACE" fieldtype="string.uni" required="true" WIDTH="40"/>
     <FIELD attrname="CALENDAR" fieldtype="string.uni" required="true" WIDTH="40"/>
     <FIELD attrname="oISMANAGER" fieldtype="i2"/>
     <FIELD attrname="oMGRAPPROVAL" fieldtype="i2"/>
     <FIELD attrname="oMGRREVIEW" fieldtype="i2"/>
     <FIELD attrname="JOBTITLE" fieldtype="string.uni" WIDTH="120"/>
     <FIELD attrname="JOINDATE" fieldtype="date"/>
     <FIELD attrname="CONFIRMDATE" fieldtype="date"/>
     <FIELD attrname="RESIGNDATE" fieldtype="date"/>
     <FIELD attrname="RESIGNATTR" fieldtype="i4"/>
     <FIELD attrname="MARITALSTATUS" fieldtype="string.uni" WIDTH="2"/>
     <FIELD attrname="oISACTIVE" fieldtype="i2"/>
     <FIELD attrname="WAGESTYPE" fieldtype="string.uni" required="true" WIDTH="40"/>
     <FIELD attrname="WAGES" fieldtype="fixedFMT" DECIMALS="4" WIDTH="18"/>
     <FIELD attrname="CONTRIB" fieldtype="string.uni" required="true" WIDTH="40"/>
     <FIELD attrname="FREQUENCY" fieldtype="string.uni" required="true" WIDTH="40"/>
     <FIELD attrname="PAYMENTMETHOD" fieldtype="string.uni" required="true" WIDTH="40"/>
     <FIELD attrname="BANK" fieldtype="string.uni" WIDTH="12"/>
     <FIELD attrname="BANKACCNO" fieldtype="string.uni" WIDTH="40"/>
     <FIELD attrname="EPFNO" fieldtype="string.uni" WIDTH="40"/>
     <FIELD attrname="NK" fieldtype="string.uni" WIDTH="2"/>
     <FIELD attrname="INITIAL" fieldtype="string.uni" WIDTH="6"/>
     <FIELD attrname="SOCSONO" fieldtype="string.uni" WIDTH="40"/>
     <FIELD attrname="SOCSOTYPE" fieldtype="i4"/>
     <FIELD attrname="EISTYPE" fieldtype="i4"/>
     <FIELD attrname="EISCATEGORY" fieldtype="i4"/>
     <FIELD attrname="TAXCATEGORY" fieldtype="string.uni" WIDTH="20"/>
     <FIELD attrname="TAXBRANCH" fieldtype="string.uni" WIDTH="80"/>
     <FIELD attrname="TAXNO" fieldtype="string.uni" WIDTH="40"/>
     <FIELD attrname="oDISABLED" fieldtype="i2"/>
     <FIELD attrname="oTAXRESIDENT" fieldtype="i2"/>
     <FIELD attrname="EASERIALNO" fieldtype="string.uni" WIDTH="40"/>
     <FIELD attrname="THNO" fieldtype="string.uni" WIDTH="40"/>
     <FIELD attrname="SPOUSENAME" fieldtype="string.uni" WIDTH="320"/>
     <FIELD attrname="SPOUSEADDRESS1" fieldtype="string.uni" WIDTH="120"/>
     <FIELD attrname="SPOUSEADDRESS2" fieldtype="string.uni" WIDTH="120"/>
     <FIELD attrname="SPOUSEADDRESS3" fieldtype="string.uni" WIDTH="120"/>
     <FIELD attrname="SPOUSEADDRESS4" fieldtype="string.uni" WIDTH="120"/>
     <FIELD attrname="SPOUSEPHONE1" fieldtype="string.uni" WIDTH="400"/>
     <FIELD attrname="SPOUSEPHONE2" fieldtype="string.uni" WIDTH="400"/>
     <FIELD attrname="SPOUSEMOBILE" fieldtype="string.uni" WIDTH="400"/>
     <FIELD attrname="SPOUSETAXBRANCH" fieldtype="string.uni" WIDTH="80"/>
     <FIELD attrname="SPOUSETAXNO" fieldtype="string.uni" WIDTH="40"/>
     <FIELD attrname="SPOUSEICNO" fieldtype="string.uni" WIDTH="40"/>
     <FIELD attrname="oSPOUSEWORKING" fieldtype="i2"/>
     <FIELD attrname="oSPOUSEDISABLED" fieldtype="i2"/>
     <FIELD attrname="LEAVEGROUP" fieldtype="string.uni" required="true" WIDTH="40"/>
     <FIELD attrname="PHOTO" fieldtype="bin.hex" SUBTYPE="Binary" WIDTH="8"/>
     <FIELD attrname="NOTE" fieldtype="bin.hex" SUBTYPE="Binary" WIDTH="8"/>
     <FIELD attrname="ATTACHMENTS" fieldtype="bin.hex" SUBTYPE="Binary" WIDTH="8"/>
     <FIELD attrname="ROWVER" fieldtype="i4"/>
     <FIELD attrname="DocNoSetKey" fieldtype="i8"/>
     <FIELD attrname="Disabled" fieldtype="boolean"/>
     <FIELD attrname="TaxResident" fieldtype="boolean"/>
     <FIELD attrname="SpouseWorking" fieldtype="boolean"/>
     <FIELD attrname="SpouseDisabled" fieldtype="boolean"/>
     <FIELD attrname="IsActive" fieldtype="boolean"/>
     <FIELD attrname="IsManager" fieldtype="boolean"/>
     <FIELD attrname="MgrApproval" fieldtype="boolean"/>
     <FIELD attrname="MgrReview" fieldtype="boolean"/>
     <FIELD attrname="OverrideTaxCategory" fieldtype="boolean"/>
     <FIELD attrname="SysCalcTaxCategory" fieldtype="string.uni" WIDTH="20"/>
     <FIELD attrname="LeaveMY" fieldtype="boolean"/>
     <FIELD attrname="Dirty" fieldtype="boolean"/>
     <FIELD attrname="TaxBenefit" fieldtype="nested">
       <FIELDS>
         <FIELD attrname="AUTOKEY" fieldtype="i8" required="true"/>
         <FIELD attrname="CODE" fieldtype="string.uni" required="true" WIDTH="60"/>
         <FIELD attrname="PICODE" fieldtype="string.uni" required="true" WIDTH="40"/>
         <FIELD attrname="DESCRIPTION" fieldtype="string.uni" WIDTH="320"/>
         <FIELD attrname="REF1" fieldtype="string.uni" WIDTH="40"/>
         <FIELD attrname="REF2" fieldtype="string.uni" WIDTH="40"/>
         <FIELD attrname="AMOUNT" fieldtype="fixedFMT" DECIMALS="2" WIDTH="18"/>
         <FIELD attrname="CONTRIBATTR" fieldtype="i4"/>
         <FIELD attrname="DATEFROM" fieldtype="date"/>
         <FIELD attrname="DATETO" fieldtype="date"/>
         <FIELD attrname="ROWVER" fieldtype="i4"/>
         <FIELD attrname="PCB" fieldtype="boolean"/>
       </FIELDS>
       <PARAMS/>
     </FIELD>
     <FIELD attrname="Claim" fieldtype="nested">
       <FIELDS>
         <FIELD attrname="AUTOKEY" fieldtype="i8" required="true"/>
         <FIELD attrname="CODE" fieldtype="string.uni" required="true" WIDTH="60"/>
         <FIELD attrname="PICODE" fieldtype="string.uni" required="true" WIDTH="40"/>
         <FIELD attrname="DESCRIPTION" fieldtype="string.uni" WIDTH="320"/>
         <FIELD attrname="YEARLYLIMIT" fieldtype="fixedFMT" DECIMALS="2" WIDTH="18"/>
         <FIELD attrname="MONTHLYLIMIT" fieldtype="fixedFMT" DECIMALS="2" WIDTH="18"/>
         <FIELD attrname="ROWVER" fieldtype="i4"/>
       </FIELDS>
       <PARAMS/>
     </FIELD>
     <FIELD attrname="Manager" fieldtype="nested">
       <FIELDS>
         <FIELD attrname="AUTOKEY" fieldtype="i8" required="true"/>
         <FIELD attrname="CODE" fieldtype="string.uni" required="true" WIDTH="60"/>
         <FIELD attrname="BRANCH" fieldtype="string.uni" WIDTH="40"/>
         <FIELD attrname="DEPARTMENT" fieldtype="string.uni" WIDTH="40"/>
         <FIELD attrname="ROWVER" fieldtype="i4"/>
       </FIELDS>
       <PARAMS/>
     </FIELD>
     <FIELD attrname="History" fieldtype="nested">
       <FIELDS>
         <FIELD attrname="AUTOKEY" fieldtype="i8" required="true"/>
         <FIELD attrname="CODE" fieldtype="string.uni" required="true" WIDTH="60"/>
         <FIELD attrname="POSTDATE" fieldtype="date" required="true"/>
         <FIELD attrname="HISTORYTYPE" fieldtype="string.uni" required="true" WIDTH="40"/>
         <FIELD attrname="DESCRIPTION" fieldtype="string.uni" WIDTH="320"/>
         <FIELD attrname="ROWVER" fieldtype="i4"/>
       </FIELDS>
       <PARAMS/>
     </FIELD>
     <FIELD attrname="Child" fieldtype="nested">
       <FIELDS>
         <FIELD attrname="AUTOKEY" fieldtype="i8" required="true"/>
         <FIELD attrname="CODE" fieldtype="string.uni" required="true" WIDTH="60"/>
         <FIELD attrname="NAME" fieldtype="string.uni" WIDTH="320"/>
         <FIELD attrname="DOB" fieldtype="date"/>
         <FIELD attrname="RATE" fieldtype="fixedFMT" DECIMALS="1" WIDTH="9"/>
         <FIELD attrname="TAXCODE" fieldtype="string.uni" WIDTH="40"/>
         <FIELD attrname="ROWVER" fieldtype="i4"/>
         <FIELD attrname="NumOfChildren" fieldtype="fixed" DECIMALS="4" WIDTH="32"/>
       </FIELDS>
       <PARAMS/>
     </FIELD>
     <FIELD attrname="Deduction" fieldtype="nested">
       <FIELDS>
         <FIELD attrname="AUTOKEY" fieldtype="i8" required="true"/>
         <FIELD attrname="CODE" fieldtype="string.uni" required="true" WIDTH="60"/>
         <FIELD attrname="PICODE" fieldtype="string.uni" required="true" WIDTH="40"/>
         <FIELD attrname="DESCRIPTION" fieldtype="string.uni" WIDTH="320"/>
         <FIELD attrname="DEDUCTIONTYPE" fieldtype="i4"/>
         <FIELD attrname="DEDUCTIONATTR" fieldtype="i4"/>
         <FIELD attrname="WORKUNIT" fieldtype="fixedFMT" DECIMALS="8" WIDTH="18"/>
         <FIELD attrname="RATE" fieldtype="fixedFMT" DECIMALS="8" WIDTH="18"/>
         <FIELD attrname="CONTRIBATTR" fieldtype="i4"/>
         <FIELD attrname="DATEFROM" fieldtype="date"/>
         <FIELD attrname="DATETO" fieldtype="date"/>
         <FIELD attrname="ROWVER" fieldtype="i4"/>
         <FIELD attrname="EPF" fieldtype="boolean"/>
         <FIELD attrname="SOCSO" fieldtype="boolean"/>
         <FIELD attrname="PCB" fieldtype="boolean"/>
         <FIELD attrname="OT" fieldtype="boolean"/>
         <FIELD attrname="EA" fieldtype="boolean"/>
         <FIELD attrname="HRDF" fieldtype="boolean"/>
         <FIELD attrname="PA" fieldtype="boolean"/>
         <FIELD attrname="EIS" fieldtype="boolean"/>
       </FIELDS>
       <PARAMS/>
     </FIELD>
     <FIELD attrname="Allowance" fieldtype="nested">
       <FIELDS>
         <FIELD attrname="AUTOKEY" fieldtype="i8" required="true"/>
         <FIELD attrname="CODE" fieldtype="string.uni" required="true" WIDTH="60"/>
         <FIELD attrname="PICODE" fieldtype="string.uni" required="true" WIDTH="40"/>
         <FIELD attrname="DESCRIPTION" fieldtype="string.uni" WIDTH="320"/>
         <FIELD attrname="ALLOWANCETYPE" fieldtype="i4"/>
         <FIELD attrname="WORKUNIT" fieldtype="fixedFMT" DECIMALS="8" WIDTH="18"/>
         <FIELD attrname="RATE" fieldtype="fixedFMT" DECIMALS="8" WIDTH="18"/>
         <FIELD attrname="CONTRIBATTR" fieldtype="i4"/>
         <FIELD attrname="TAXCODE" fieldtype="string.uni" WIDTH="40"/>
         <FIELD attrname="DATEFROM" fieldtype="date"/>
         <FIELD attrname="DATETO" fieldtype="date"/>
         <FIELD attrname="ROWVER" fieldtype="i4"/>
         <FIELD attrname="EPF" fieldtype="boolean"/>
         <FIELD attrname="SOCSO" fieldtype="boolean"/>
         <FIELD attrname="PCB" fieldtype="boolean"/>
         <FIELD attrname="OT" fieldtype="boolean"/>
         <FIELD attrname="EA" fieldtype="boolean"/>
         <FIELD attrname="HRDF" fieldtype="boolean"/>
         <FIELD attrname="PA" fieldtype="boolean"/>
         <FIELD attrname="EIS" fieldtype="boolean"/>
       </FIELDS>
       <PARAMS/>
     </FIELD>
   </FIELDS>
   <PARAMS MD_SEMANTICS="3">
     <PARAM Name="KeyField" Value="QXV0b0tleQ==" Roundtrip="True"/>
     <PARAM Name="CanInsert" Value="TRUE" Type="boolean" Roundtrip="True"/>
     <PARAM Name="CanEdit" Value="TRUE" Type="boolean" Roundtrip="True"/>
     <PARAM Name="CanDelete" Value="TRUE" Type="boolean" Roundtrip="True"/>
     <PARAM Name="ID" Value="SFJfRU1Q" Roundtrip="True"/>
     <PARAM Name="DatabaseBrand" Value="RmlyZWJpcmQ=" Roundtrip="True"/>
     <PARAM Name="Dummy_0" Value="0" Type="i4"/>
     <PARAM Name="Dummy_1" Value="0" Type="i4"/>
   </PARAMS>
 </METADATA>
 <ROWDATA>
   <ROW AUTOKEY="34" CODE="EMAIL" NAME="Version 1.2021.196.166 & above" NAME2="" GENDER="M" ADDRESS1="" ADDRESS2="" ADDRESS3="" ADDRESS4="" PHONE1="" PHONE2="" MOBILE="" EMAIL="" BRANCH="----" HRGROUP="----" DEPARTMENT="----" CATEGORY="----" PROJECT="----" JOB="----" TASK="----" NATIONALITY="MY" RACE="----" CALENDAR="----" oISMANAGER="0" oMGRAPPROVAL="0" oMGRREVIEW="0" JOBTITLE="" RESIGNATTR="0" MARITALSTATUS="S" oISACTIVE="0" WAGESTYPE="----" WAGES="0.0000" CONTRIB="----" FREQUENCY="----" PAYMENTMETHOD="----" SOCSOTYPE="1" EISTYPE="1" EISCATEGORY="0" oDISABLED="0" oTAXRESIDENT="1" oSPOUSEWORKING="0" oSPOUSEDISABLED="0" LEAVEGROUP="----" NOTE="e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZGVmZjBcbm91aWNvbXBhdFxkZWZsYW5nMTAzM3tcZm9udHRibHtcZjBcZm5pbFxmY2hhcnNldDAgVGFob21hO319DQp7XCpcZ2VuZXJhdG9yIFJpY2hlZDIwIDEwLjAuMjI2MjF9XHZpZXdraW5kNFx1YzEgDQpccGFyZFxmMFxmczE0IFtVc2VOYW1lMl1ccGFyDQowXHBhcg0KXHBhcg0KW0dsb2JhbFBhc3N3b3JkXVxwYXINClVzZU5hbWVJQ1Bhc3NccGFyDQpccGFyDQpccGFyDQpbUHJpdmF0ZVBhc3N3b3JkXVxwYXINCkVtcGxveWVlQ29kZT1QYXNzd29yZFxwYXINClxwYXINCltDQ11ccGFyDQpccGFyDQpbQkNDXVxwYXINClxwYXINCltQREZGaWxlTmFtZV1ccGFyDQpFQS08RW1wbG95ZWUuQ29kZT4tR2V0VGl0bGVccGFyDQpccGFyDQpbU3ViamVjdF1ccGFyDQpccGFyDQpccGFyDQpbQm9keV1ccGFyDQpEZWFyIDxFbXBsb3llZS5OYW1lPixccGFyDQpUaGlzIGlzIHlyIHNhbGFyeSBHZXRNb250aFxwYXINCkdldFRpdGxlXHBhcg0KXHBhcg0KUGxlYXNlIGNoZWNrIHRoZSBhdHRhY2htZW50IGZvciAuLi5ccGFyDQpccGFyDQpCZXN0IFJlZ2FyZHMsXHBhcg0KPFByb2ZpbGUuQ29tcGFueU5hbWU+XHBhcg0KfQ0KAA==" ROWVER="6" Disabled="FALSE" TaxResident="TRUE" SpouseWorking="FALSE" SpouseDisabled="FALSE" IsActive="FALSE" IsManager="FALSE" MgrApproval="FALSE" MgrReview="FALSE" OverrideTaxCategory="FALSE" LeaveMY="FALSE" Dirty="FALSE">
     <TaxBenefit/>
     <Claim/>
     <Manager/>
     <History/>
     <Child/>
     <Deduction/>
     <Allowance/>
   </ROW>
 </ROWDATA>

</DATAPACKET> </syntaxhighlight>

03. Click More | Paste Employee
04. Make sure Code is EMAIL
05. Click Save after done change the
- E-Mail Subject/Content/Body & other fields (Version 1.2020.182.158 & above)
- Note field (Version 1.2021.196.166 & above)

Steps

Below is example using Sales Invoice
Menu: Sales | Invoice...

01. Press F6
02. Select the Build-in/Customise Fast Report (eg Sales Invoice 7 (GST 2)-Email)
03. Click OK
FR-EMail-04.jpg
04. Click the Arrow for Export (2nd Button from Left)
FR-EMail-05.jpg
05. Select either 1 of other following from the list
  • Export to E-Mail Client
  • Export to E-Mail Client (Batch)
  • Export to E-Mail (Native)

See also