Thursday, July 11, 2013

Sage 100 Scripting Capabilities

Sage 100 Scripting Capabilities
Below are just some of the examples of what scripting can do in Sage 100 (formerly MAS 90 and 200). If I can be of any assistance with your scripting need, contact me (707) 425-9923.

Open Related Documents
A button can be placed on a screen (Item Maintenance, Customer Master, Vendor Master, etc) to recall a related document stored on the server.  There are two options with naming and storing the related documents.  The first is that the documents can be stored with their names matching the file (Item Number = ABC, Document Name: ABC.pdf).  The second is that an additional text field can be added next to the button that can store a file name.

Delete Pricing (Customer or Item Pricing Records)
This script was designed to make changing pricing quicker.
For example you have a customer that has special pricing on 1000 items and you want it to stop.  The script can run through and delete all pricing records associated with that customer at once.
The script can be used in combination with visual integrator to make quick modifications to inventory pricing.

Calculate Qty Ordered (Sales Order and Invoice Detail)
This script is designed to calculate the Sales Order Detail field “Quantity Ordered" from a combination of stored user defined fields. "PERBOX", and "BOXES"  The Quantity Per box is stored at the item level, but can also be changed at the line level.  A box quantity is entered into the BOXES field, the field is then multiplied by the quantity per box stored.  The value is then pushed into the Quantity Ordered field. (the one that is actually used in Sage.
This similar process can be used to calculate unit price and many other scenarios depending upon the clients needs in data entry.

Calculate Discount to display on Line entry and Form Printing
This script designed to calculate the discount based off of the difference between the line Unit Price and the items Standard Price or Retail Price.  This value is then stored in a discount field.  This discount filed can also be updated to in turn change the Unit Price field.
Ex. Unit Price = 80, Retail Price = 100, Discount = 20%
The Retail Price can’t be changed but the other two can and will consequentially update the other.
This information can then be used on the Sales Order or Invoice forms is desired.

Change Standard Cost Value in Item Maintenance.
This script uses a user defined field to populate a NEW Standard Cost record in Standard Cost Adjustment Entry utility in Inventory.  A blank field is put on the screen with a button that when pressed grabs the value in the field and creates a new entry in Adjustment Entry.  This is nice because typically entries can’t be entered unless all entries are updated.  This script allows for entries to be made that will be sitting out there ready to be updated when possible.
Note: The Adjustment Entry will have to be updated for cost changes to take place.

Coupon Codes in Order Entry
This script looks at a user defined field "Coupon Code" on the Sales Order Totals tab and when the coupon is applied to the order, it pulls coupon information stored in the maintained user defined table “Coupon_Codes” and calculates the coupon amounts per line.
It can work for all different types of coupons;
·         All Customers, All items
·         Specific customers, All items
·         Specific customers, Specific items
·         All customers, Specific items
·         Percentage based or Amount based
Track Rental Contracts in Sales Order
Repeating orders are set up as contracts in the sales order module.
User defined fields on the lines of the contract reference the serial number of the item being rented. Rented Serial items are automatically transferred from the stock warehouse to the rental warehouse by creating Inventory Transfers (though another script)  Once the contract has expired, the item can then be returned to the stock warehouse, or even to a holding warehouse for repairs and processing. This is done again with an automatic inventory transfer.
Reports can be ran for rental profits by item and by serial number.

Don’t let Price Go Below
This script was set up so that certain users could not change the items unit price on an order or an invoice below either a defined amount per item, or a certain percentage of the retail price. (these fields can be changed to meet the clients request)  If a price was entered that did not meet the criteria, the price would automatically change back to the previous price, or to the system price.

Open Google Maps from a specified address in the System
This script simply is a button that launches Google Maps from a given address so directions can be printed.

Create Production Entry in Bill of Material from Receipt of Goods
Although this could be done from other modules as well, this script would automatically create a production entry for a specified bill when a certain item was received.

Tuesday, November 20, 2012

Are you spending a lot of time running reports?

Save yourself time, automate your Crystal Reports?

Many people have reports that they run monthly, weekly, even daily.  Wouldn’t it be nice to just come into the office and have that report that you run daily just sitting in your inbox, or sitting in a designated directory on your server for all users to access.  Maybe it is a report that you run once a month, by setting that report to run on the same day and time every month, you will not have to remember to do so.  If it is a report that takes several minutes to run, having the report run and send to you will free up some of you very valuable time.

Crystal Reports automation allows you to run required reports at defined intervals and export them in a number of formats.  You can have the reports pushed out to a directory of your choice in either excel, PDF, or another format, or you can have the exported report emailed to any number of email addresses.  You can even encrypt the files for an added layer of security.

If you want more information with Crystal Reports writing and/or automation or reporting, give Mike at M&M Solutions a call today.

Thursday, October 4, 2012

Are you maintaining data outside of your system for reporting? Stop wasting your time!

I come across a lot of people whom for some reason or another are taking information out of Sage 100 (formerly MAS 90 and MAS 200) and manipulating it, either in excel or access, to come up with reports or tables that they need to do their job. Sometimes these processes can take hours to complete.

How much time are you spending outside of Sage 100 to get information that you need?

One thing I tell all my clients is,
 “If the data is in the system, I can write a report to get the data out in a format you need to see it in. If the data is not in the system, let’s work on getting it in there in a way that will work for you.”

What this means is that a report that takes you, lets use a small number, ½ an hour a day to maintain and run outside of the system, can be set up to run at the press of a button. You might be thinking that ½ hour a day is not worth the money to set up a report or add fields, but your time is valuable. That short ½ hour a day is equal to 2.5 hours a week, 10 hours a month, 130 hours a year. That ½ hour spent to maintain that report outside of the system is taking up over 16 full work days a year of your time!

How much is your time worth?

Sage 100 has built in, often underutilized tools, that help the user get data into their system for reporting. Custom Office allows users to tailor their systems to meet their specific needs.

  •  Add user defined fields to desired tables
  • Add created fields to various data entry screens 
  • Create User Defined Tables to store data for lookup and reporting purposes 
  • Create scripts to further customize how the data interacts with your system
A typical example is a client that wants to track a certain piece of information for a customer or an item. A user defined field can be added to the respective maintenance screen (Customer or Inventory). Lets use inventory in this example; a client wants to track a non-standard item type and have a lookup table that contains all selectable types. This can be done with user defined fields and tables. Custom office then allows for the flow of the custom data to be determined. What this means is that you can create additional user defined fields that allow the data entered to flow through the system all the way through to history. The “Type” user defined field that you entered at the item level can then be used at the data entry level (sales order, invoice, purchase order, receipt, etc.) and then on to history. This gives the user complete control over reporting data at all point in their process. Now with the data in history, a user can add the created field to a report and utilize it just as if it was a standard field in the system.

Give M&M Solutions, Inc a call today so that we can help free up some of your valuable time. 707.425.9923

Friday, September 14, 2012


My name is Mike and I am one of the partners here at M&M Solutions, Inc.

We specialize in Implementation, Training and Support of Sage 100 ERP
      (Formerly Sage MAS 90, Sage MAS 200 and Sage MAS 200 SQL).

We also work with;
  •   Crystal Report Writing and Automation
  •   Custom Scripting
  •   Sage CRM
  •   Qqest TimeForce Time Clocks
  •   Various Accounting Services

For more than 10 years, M&M Solutions, Inc. has worked to provide our clients with top tier personal support. We have both the accounting and technical background to get you the help that you need. We work hard to get our clients as streamlined as possible, while at the same time strive to build relationships with them so that they are clients for life.

Please check back weekly for different write ups and comments. My goal with this Blog is to share information with you while at the same time use this blog as a historical database of tips, help, questions, answers, and documentation that can be referred to at any time.

I will post your questions to me and their answers directly to this blog so that everyone can share in the learning process. So please, send my your questions or comment on my post, and I will do my best to address them.

-Mike McNelis