Feature - Pricing by Multiple Customer Types

Feature - Pricing by Multiple Customer Types

Release Date: 7/24/25
Version: 8.5 and Above

Introduction

This feature allows the user to specify multiple customer types for a customer. The additional customer types are used when determining item pricing using price codes. Price code type 3 by customer type and item number, type 4 by customer type and product category, and type 7 by customer type can be configured to use the additional customer types specified for the customer to determine item pricing in order entry.  

For example, Elliott users may have multiple product lines, such as ABC and XYZ. Some customers may become master dealers for the ABC product line, while others may become master dealers for the XYZ product line. In such cases, we can assign the customer type as ABC or XYZ and add price codes for customer type ABC or XYZ accordingly.

However, an issue arises when a customer becomes a master dealer for both the ABC and XYZ product lines. Currently, Elliott only allows one customer type per customer. This enhancement introduces a new table, ARPRCTYP, to store the additional customer types.

The customer type field in the customer master table is still used to determine pricing, provided it is not blank. This field is considered the Primary Customer Type. It will be the first customer type evaluated for pricing before the system checks any additional customer types listed in the ARPRCTYP table. For this documentation, we may also refer the Primary Customer Type as "Customer Type" and the Customer Types in ARPRCTYP as "Price Types" to avoid confusion.

While you are not required to use the Primary Customer Type for pricing, keep in mind that multiple areas in Elliott rely on the customer type field and do not interact with the additional customer types in the ARPRCTYP table. This includes, for example, Sales Analysis and Commission Calculation. Currently, the purpose of the ARPRCTYP table is solely to determine pricing based on the Elliott Price Code tables. 

Global Setup

This feature is enabled System Utilities-> Global Setup->COP-Ctl-> Price Control Features fields 5. Allow Multiple Customer Types and 6. Match Customer Type By Product Category. 



5. Allow Multiple Customer Types – The default is N. If set to Y, Customer File Maintenance will allow the setup of additional customer price types. 
6. Match Customer Type By Product Category? The default is N. If set to Y, the first three characters of the additional price types should correspond to an item product category. For example, if there are three pricing categories for the product category ACC, you could set up customer types ACC01, ACC02, and ACC03 to represent each level. When ordering an item with the product category of ACC and the customer has the customer price type ACC02 defined, the application finds the match based on whether a matching price type 3, 4, or 7 is on file that matches the criteria.

The primary purpose of this flag 6 is to improve performance. Setting this flag to "Y" enhances pricing calculation performance, as Elliott does not need to check all customer types defined for the customer.  Note: If the product category is less than 3 digits, then we expect the Price Types to preserve the trailing spaces. For example, if the product category is "A", any Price Type like "A 01" or "A 02" (i.e., "A" + 2 spaces + additional characters) is considered a match. However, "A01" or "A02" is not considered a match.

On the other hand, setting the flag to "N" provides greater flexibility but may result in slower performance due to additional network I/O required to evaluate all customer types define for this customer.  At this time, we cannot quantify the exact performance impact. It is up to your discretion whether to set this flag to "Y" or "N".

Customer File Maintenance

If System Utilities-> Global Setup->COP-Ctl-> Price Control Features fields 5. Allow Multiple Customer Types is set to Y, customer price types can be added to the customer via Customer File Maintenance field 14. Customer Type.



F8=Enter Price Type – Press the F8 key to access the customer price type manager screen.



F1 Move Up – This will move a price type sequence number up by one. For example, if the sequence number is 2 and the F1 key is pressed, the price type with a sequence number of 2 will move up to a sequence number of 1 and the price type with a sequence number of 1 will move down to a sequence number of 2.
F2 Move Down – This will move a price type sequence number down by one. For example, if the sequence number is 1 and the F2 key is pressed, the price type with a sequence number of 1 will move down to a sequence number of 2 and the price type with a sequence number of 2 will move up to a sequence number of 1.
F4=Del – This will delete a price type and resequence the remaining codes on file.
Ret – Press the Return/Enter key to change a price type.
F3=Ins – This will add a new price type to the list. F7 Search Customer Type support is available when adding a new price type.


The significance of the "Sequence" field in this window is to determine the order in which customer types are used to calculate pricing. This affects both pricing and performance. However, it is only meaningful if the global setup flag 6 (described above) is set to "N"

CSV Import

A Multiple Customer Type CSV Import is available if you need to add the same price type to multiple customers at the same time. This option is available from Accounts Receivable-> Maintenance-> Customer Type File-> Mult Cust Type Import.



This application  supports Pre-Interface, Interface, and Layout options.



The CSV import layout requires only column A - Customer Number.


The CSV import works for one customer type at a time.

  1.  Customer Type - Enter the customer type to be used during the import of the CSV file. F7 customer type search is available. This customer type entered must be on file in the customer type file.
  2.  CSV File Name:   Enter the full path and file name of the CSV file to be processed. The application will remember the last file name entered.  
  3.  Import File With Header RowIf the CSV file contains a header row, enter Y. Otherwise, enter N. The application will remember the last entry.                           

The CSV import function always operates in replacement mode. Users should maintain a complete master list of all customers for a particular customer type in Excel, and save it as a CSV file before importing.

Always import the full customer list for the customer type. If you import only a partial list, any customers missing from the CSV file will be deleted from the ARPRCTYP table.  For this reason, it is always a good idea to do a pre-interface before performing interface to avoid accidentally deleting records with the import.

For example, if you have a CSV file with the following customer numbers to be imported for customer type “DISTR”:
000001
000003
000004

If currently, in the Customer Price Type Manager, customers 000001, 000002, and 000004 have the customer type “DISTR”. The following will updates will take place when the CSV file is interfaced :
For customer 000001, nothing will happen.
For customer 000002, DISTR will be deleted since customer 000002 is not in the CSV file
For customer 000003, DISTR will be added for customer 000003.
For customer 000004, nothing will happen.

The Pre-Interface and Interface report output will show the detail of the action by indicating either Do Nothing, Add or Delete for each option as well as the total number of records processed and total number of errors, warnings, records added, records deleted, and records with no change.


Note: If a numeric customer number is missing leading zeroes in the CSV file, it will be padded with zeroes to make it 6 digits upon import.

Reports

Two new reports are available that will list the price types. The Customer Price Type List By Customer No. report is available from Accounts Receivable-> Maintenance-> Customer File-> Numeric List.



The Customer Price Type List By Price Type is available from Accounts Receivable-> Maintenance-> Customer Type File -> List.


Price Code Maintenance

The Customer Order Processing-> Maintenance-> Price Code File-> Internal Price List prints the customer type in the heading area based on the assumption that each customer has only one customer type. However, with this new feature, that is no longer the case.

Therefore, if the matching customer type used for pricing differs from the primary customer type, it will be printed to the side instead. See the sample report below:



The Customer Order Processing-> Maintenance-> Price Code File-> Customer Price List prints the matching price type used for pricing if it is not the same as the customer type.


Examples

Match Customer Type By Product Category = "N"

The following is an example of how the pricing by multiple customer types works. Consider the following price codes on file for items DATA-BUS and DATA-CONTRL. System Utilities-> Global Setup->COP-Ctl-> Price Control Features fields 5. Allow Multiple Customer Types is set to Y and 6. Match Customer Type By Product Category is set to N. 

Price Code

Price Type

Item

Price

Item Price

Prod Cat

3

DISTR

DATA-BUS

17.43

40.00

ACP

3

DISTR

DATA-CONTRL

15.95

15.95

CVD

3

RETL

DATA-BUS

15.69

40.00

ACP

3

RETL

DATA-CONTRL

14.26

15.95

CVD

3

WHSL

DATA-BUS

13.07

40.00

ACP

3

WHSL

DATA-CONTRL

11.96

15.95

CVD

3

ACP01

DATA-BUS

35.00

40.00

ACP

3

ACP02

DATA-BUS

30.00

40.00

ACP

3

ACP03

DATA-BUS

25.00

40.00

ACP

3

CVD01

DATA-CONTRL

15.5

15.95

CVD

3

CVD02

DATA-CONTRL

15.00

15.95

CVD

3

CVD03

DATA-CONTRL

14.75

15.95

CVD


Scenario 1. Customer without matching customer type but a matching price type.

Customer

Customer Type

Price Types

Seq No

Item

Price

000500

NWENT

RETL

1

DATA-BUS

15.69

DATA-CONTRL

14.26


Scenario 2. Customer with a matching customer type and a matching price type. Customer Type is used before Price Types. Best Pricing (Global Setup -> Cop-Func -> Order Line Item Screen -> 16. Find Best Price Through All Price Codes) is disabled so the match is on the customer type. Please note that enable Best Pricing feature may slow down pricing calculation performance.

Customer

Customer Type

Price Types

Seq No

Item

Price

000555

RETL

DISTR

1

DATA-BUS

15.69

DATA-CONTRL

14.26


Scenario 3. Customer without matching customer type and multiple matching price types. Match is in order of sequence number. Best pricing is disabled.

Customer

Customer Type

Price Types

Seq No

Item

Price

000555

SPEC

DISTR

1

DATA-BUS

17.43

WHSL

2

DISTR

1

DATA-CONTRL

15.95

WHSL

2


Scenario 4. Customer without matching customer type and multiple matching price types. Match is in order of sequence number. Best pricing is disabled.

Customer

Customer Type

Price Types

Seq No

Item

Price

000555

SPEC

WHSL

1

DATA-BUS

13.07

DISTR

2

WHSL

1

DATA-CONTRL

11.96

DISTR

2


Scenario 5. Customer with a matching customer type and a matching price type. Best pricing is disabled so first match on customer type is used.

Customer

Customer Type

Price Types

Seq No

Item

Price

000555

RETL

WHSL

1

DATA-BUS

15.69

DISTR

2

WHSL

1

DATA-CONTRL

14.26

DISTR

2


Scenario 6. Customer without matching customer type and multiple matching price types with best pricing enabled. 

Customer

Customer Type

Price Types

Seq No

Item

Price

000555

SPEC

DISTR

1

DATA-BUS

13.07

WHSL

2

DISTR

1

DATA-CONTRL

11.96

WHSL

2


Scenario 7. Customer with matching customer type and multiple matching price types with best pricing enabled.

Customer

Customer Type

Price Types

Seq No

Item

Price

000555

RETL

DISTR

1

DATA-BUS

13.07

WHSL

2

DISTR

1

DATA-CONTRL

11.96

WHSL

2


Match Customer Type By Product Category = "Y"

System Utilities-> Global Setup->COP-Ctl-> Price Control Features fields 5. Allow Multiple Customer Types is set to Y and 6. Match Customer Type By Product Category is set to Y.

Scenario 8. Customer without matching customer type but a matching price type.

Customer

Customer Type

Price Types

Seq No

Item

Price

000500

NWENT

ACP01

1

DATA-BUS

35

CVD02

2

DATA-CONTRL

15


Scenario 9. Customer with a matching customer type and a matching price type. Best pricing is disabled.

Customer

Customer Type

Price Types

Seq No

Item

Price

000555

RETL

ACP01

1

DATA-BUS

15.69

CVD02

2

DATA-CONTRL

14.26


Scenario 10. Customer without matching customer type and multiple matching price types. The first match will be used. 

Customer

Customer Type

Price Types

Seq No

Item

Price

000555

SPEC

ACP01

1

DATA-BUS

35.00

ACP02

2

CVD01

1

DATA-CONTRL

15.50

CVD02

2


Scenario 11. Customer without matching customer type and multiple matching price types with best pricing enabled.

Customer

Customer Type

Price Types

Seq No

Item

Price

000555

SPEC

ACP01

1

DATA-BUS

30.00

ACP02

2

CVD01

1

DATA-CONTRL

15.00

CVD02

2


Scenario 12. Customer with matching customer type and multiple matching price types with best pricing enabled.

Customer

Customer Type

Price Types

Seq No

Item

Price

000555

RETL

ACP02

1

DATA-BUS

15.69

ACP03

2

CVD01

1

DATA-CONTRL

14.26

CVD02

2


Programs Added: ARPRCTYP.SL, ARPRCTYP.FD, ARPRCTYP.WS, ARPRCTYP.DS, ARPRCTYP.IO, ARPRCMNT.CBL, ARPRCIMS.CBL, ARPRCIMP.CBL
Programs Modified: GETPRICE.WS, GETPRICE.PL, GETPRICE.PL2, GETPRREC.PL, CPRECGRO.PL, BMOPTPR1.PL, BMOPTPR2.PL, ARCUSMNT.CBL , ARTYPMNT.CBL, BMOPTGEN.CBL, CP0111S.CBL , CP0111.CBL , CP0115.CBL, CP0115BM.CBL, CP09P3.CBL , CP09P31.CBL, CPCUSWLS.CBL, CPCWLCHK.CBL, CPFBCBYI.CBL, CPLINEDT.CBL, CPORDIMP.CBL, CPRECELR.CBL, CPRECGOP.CBL, CPRECLIN.CBL, CPRECPIP.CBL, CPSLSDSK.CBL , CPSLSOPT.CBL, IM0500.CBL, IM0500Q.CBL, IMAONWIN.CBL, QUOTEGEN.CBL
CLS


    • Related Articles

    • CPCONMNT Customer Order Processing Contract Pricing

      Contract Pricing Application Overview Contract pricing is much more convenient, flexible, and powerful way of managing pricing agreements than Price Code 1, (Customer/Item). In addition, it allows you to use Customers or Groups, and combine items and ...
    • CP0901 Customer Order Processing Price Code File Maintenance

      Price Code File Maintenance Application Overview The pricing system is based on price break tables. For example, you could set up a table such that when over 100 of an item are ordered, there is a 5% discount, when over 200 are ordered, there is a ...
    • Feature - Create Price Code 1 from Item Minimum Price Utility

      Release Date: 6/15/2016 This feature gives the user the ability to generate and update price code 1 based on the minimum price field in the Item Master file. The new utility is accessed thru I/M -> Maintenance -> Product Category File. The purpose ...
    • CP1400 Customer Order Processing Price List Report

      Price List Report Application Overview The Price List Report application enables you to print out the base price and pertinent discount price information for each item within a selected range of items, product categories, and price code types. (Refer ...
    • Feature - Add Multiple Planning Types to Show in ATP Process Criteria

      Release date: 5/8/2020 Version 8.5 & up Currently in I/M -> Utility -> ATP Regen And Process -> ATP Processing, the following screen is displayed: In the field “5. Planning Type to Show?” the user can enter one of the following values: P = Plan Order ...