Create and maintain receipt formats: iSales for Sage 100

facebooktwittergoogle_plusredditpinterestlinkedinmail

 

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/