




Now with iSales 100 version 4.1 individual receipt formats can be created for each Sage 100 company / user / and transaction type. HTML skills are required, and we’ve documented here what you’ll need to know to self serve this feature.
The HTML is on the Sage 100 server and can be edited by anyone with basic HTML knowledge. Upon request, xkzero can do this for a fee (contact us at info@xkzero.com).
We designed the receipt as an HTML file and use standard web technology to create the page, allowing the form to be previewed in a web browser. We use a template engine, which allows us to merge the data from the transaction into the page. It’s called Mustache – because the variables are bracketed with {{ and }} so they look like mustaches.
The HTML form is found on the Sage 100 server at:
…\MAS90\XS\Content\SalesOrderReceipt.html
Individual receipts may be setup for each specific Sage 100 company as well as specific Remote User (within a company). This can be done by adding directories under ‘Content’. For example, to add a receipt just for ABC company it would be:
…\MAS90\XS\Content\ABC\SalesOrderReceipt.html
And for Remote User ‘JEFF123’ in XYZ Company:
…\MAS90\XS\Content\XYZ\JEFF123\SalesOrderReceipt.html
In addition, in the 4.1.0 version we added the ability to setup different receipts for other transaction type. This is done by making an HTML file named by the transaction type as follows:
- QuoteReceipt.hmtl
- InvoiceReceipt.html
- CreditMemoReceipt.html
Below is a list of Variables (labeled ‘MustacheVariables’) that are available. There are 2 parts of the page. There is the main page level and then there is the line level. The template will hit the line level and repeat the section for every line. So, in the variables file there are Line specific data elements.
In the file there are indented sections under Customer. This is a sub section. So, for each order we can get to the Customer information using ‘dot’ notation. For example:
{{Customer.SalespersonName}}
Similar for Item information in the lines section.
Any information not in the list of variables is not available. So, UDF’s that are not one of the 8 UDF’s on Customers and Items (setup in Remote User Maint) are not available.
Limitations:
- Because it’s basically a web page, it is one big page without breaks. We are investigating ways to make it print like a standard form where the header will print at top of every page and a
footer at the bottom. But, for the time being it simply breaks wherever the page ends and continues printing on the next page.
MustacheVariables
{
PrintedDate
OrderID
OrderType
OrderTypeDesc
OrderDate
ShipExpireDate
CustomerPONumber
ConfirmTo
EmailAddress
Comment
ISalesCommentLabel
ISalesComment
SalespersonDivisionNo
SalespersonNo
SalespersonName
CustomerName
AddressLine1
AddressLine2
AddressLine3
AddressLine4
City
State
Zip
Email
Phone
Fax
ShipToCode
ShipToName
ShipToAddress1
ShipToAddress2
ShipToAddress3
ShipToAddress4
ShipToCity
ShipToState
ShipToZipCode
SubTotalAmt
TaxableAmt
NonTaxableAmt
SalesTaxAmt
TotalSubjectToDiscount
DiscountRate
DiscountAmt
FreightAmt
OrderTotalAmt
ShipVia
Customer {
ARDivisionNo
CustomerNo
CustomerName
AddressLine1
AddressLine2
AddressLine3
AddressLine4
City
State
ZipCode
EmailAddress
CountryCode
TelephoneNo
TelephoneExt
FaxNo
Comment
ContactName
ContactTitle
SalespersonDivisionNo
SalespersonNo
SalespersonName
PriceLevel
CustomerType
URLAddress
CreditHold
PrimaryShipToCode
TermsCode
TermsCodeDesc
DateLastActivity
DateLastPayment
DateLastStatement
DateLastFinanceChrg
DateLastAging
DateEstablished
LastPaymentAmt
OpenOrderAmt
CurrentBalance
AgingCategory1
AgingCategory2
AgingCategory3
AgingCategory4
UserFld1
UserFld2
UserFld3
UserFld4
UserFld5
UserFld6
UserFld7
UserFld8
}
Lines[] {
SeqNo
ItemCode
ItemType
ItemDesc
WarehouseCode
UnitOfMeasure
Comment
UMConvFactor
OrderQty
UnitPrice
Extension
LineDiscountPercent
Item {
ItemCode
ItemType
Description
ProductLine
PriceCode
CommentText
DefaultWarehouseCode
SalesUnitOfMeasure
PurchaseUnitOfMeasure
StandardUnitOfMeasure
PurchaseUMConvFctr
SalesUMConvFctr
StandardUnitPrice
UserFld1
UserFld2
UserFld3
UserFld4
UserFld5
UserFld6
UserFld7
UserFld8
}
Warehouse {
WarehouseCode
WarehouseDesc
}
}
}
Any questions or comments? Customers current on xkzero maintenance and support plans should contact us at info@xkzero.com.
More iSales 100 resources from xkzero. http://erpappsblog.com/isales-100-advanced-mobile-sales-for-sage-100-resources/