Automatic Pack Slip Number Generation

Automatic Pack Slip Number Generation

Many of our clients have asked why doesn’t Epicor generate the packing automatically on Receipt Entry. The short answer is that  most companies enter the packing slip number from the vendor, but in some cases there is no packing slip number. To handle this we developed a simple customization to auto generate the pack slip number.

Here are the steps:

Add a button to your Receipt Entry Screen

Epicor Receipt Entry with Auto Pack Slip
Receipt Entry with Next Pack Button

Go to the event wizard tab and create a button click event and add a call to GetNextPackSlip() from the button click event.

Epicor Create Event Wizard
Epicor Create Event Wizard

Open the script Editor and add the code below.

private static void GetNextPackSlip()
	Epicor.Mfg.Core.Session session = (Epicor.Mfg.Core.Session)ReceiptEntryForm.Session;
	Epicor.Mfg.BO.Company company = new Epicor.Mfg.BO.Company(session.ConnectionPool);
	Epicor.Mfg.BO.CompanyDataSet dsCompany = new Epicor.Mfg.BO.CompanyDataSet();

	//Change EPIC03 to your company ID. You can also ge the current company from the session object.
	dsCompany = company.GetByID("EPIC03");

	//We are storying the current pack slip number in Number01 field in the company table
	decimal number = dsCompany.Company[0].Number01;

	//Make sure we have data loaded into the Receive Header data view.
	if(edvRcvHead.dataView.Count > 0) {
		edvRcvHead.dataView[0]["PackSlip"] = "PACK" + number;
		MultiKeySearch_Row.dataView[0]["PackSlip"] = "PACK" + number;

		//Increment the stored number
		dsCompany.Company[0].Number01 = number + 1;

		//Update the company table.
	} else {
		MessageBox.Show("Please create a new receipt first.");

One thing to note about this customization, the pack slip number is incremented every time a user pushes the Next Pack button so you may have gaps in the number sequence.