Skip to main content

Analysis Matrix

Analysis Matrix

This feature, if enabled, defines the selection of Analysis Code for SOP and POP Details lines.

The Matrix Code is made up by concatenating the selected analysis codes for Stock or Price and Customer or Supplier. For example: Analysis code for selected Stock item = HARDWARE and Analysis code for selected Customer = NORTH, therefore Matrix Analysis Code = HARDWARENORTH.

In some Countries, taxation is dependent on the area being sold to and the type of goods and services being sold. Using this example, the Analysis Matrix provides the necessary functionality to automatically analyse Sales to a combined area/product type code, applying the appropriate tax codes and rates from the Analysis record.

Setup Details

Enable Analysis Matrix function

Enable Sales Analysis Matrix

Enable Purchase Analysis Matrix

When selected, a new checkbox will be available on the Analysis Record windows for the Sales and Purchase Ledgers. This is how you flag Analysis Codes as being Analysis Matrix Records.

Once the function is enabled, it is invoked automatically as part of the transaction entry process, according to the flags set and codes entered as part of the setup process (see [2] to [5] below).

Create Analysis Matrix Records in the Sales and Purchase Ledgers

Create individual Analysis Records (e.g.: HARDWARE, SOFTWARE, NORTH, SOUTH).

These are the codes which will be concatenated.

Flag these records by selecting Analysis Matrix Record.

Create the concatenated Analysis Records in the Sales and Purchase Ledgers

Create Analysis Records for the required combinations of analysis codes (e.g.: HARDWARESOUTH, HARDWARENORTH, SOFTWARESOUTH, SOFTWARENORTH).

The format must be xxxxyyyy, where xxxx=Stock/Price Analysis and yyyy=Customer/Supplier Analysis, with no spaces.

These records should not be flagged as Analysis Matrix Records.

Edit the Customer or Supplier records to include the Sales or Purchase Analysis code you wish to use (e.g.: NORTH, SOUTH).

Analysis Codes can be set:

In the Customer or Supplier VAT window (referred to as the Customer/Supplier default analysis code).

On each Address in the Customer or Supplier record.

On each Trading Currency record.

On each Currency Rate record.

Please refer to the help topic Order of Precedence of Analysis Codes to ensure the correct analysis code will be used.

Edit the Stock or Price records to include the Sales or Purchase Analysis code you wish to use (e.g.: HARDWARE, SOFTWARE).

Analysis Codes can be set:

On each Price Line in the Buying and Selling Prices for each Stock record.

On each Sub Analysis record for each Stock record.

On each Price Item record in SOP and POP.

Please refer to the help topic Order of Precedence of Analysis Codes to ensure the correct analysis code will be used.

Outline of the use of the Analysis Matrix in SOP/POP Detail Window

Once the function is enabled and the analysis code entry process has been completed (steps 1 through 5 above), the Analysis Matrix is invoked automatically as part of the transaction entry process.

The use of the Analysis Matrix, when enabled, is as follows:

  • The Analysis code from the Stock/Price record and the Analysis code from the Customer/Supplier record are concatenated.

  • If an Analysis record is found that matches the concatenated code then this will be used (e.g.: HARDWARENORTH).

  • If there is no matching record, the Analysis code from the Customer/Supplier record will be used.

  • If there is no Analysis code held on the Customer/Supplier record, the Analysis code from the Stock/Price record will be used.

  • If there is no Analysis code held on the Stock/Price record, the Sales or Purchase Analysis code held for the System will be used.

The System does not create records for the concatenated Analysis Codes, but existing Analysis Matrix records will be used automatically in transactions according to the Order of Precedence of Analysis Codes.

Detailed description of Sales/Purchase Order Entry

  • Enter the Customer/Supplier Code. The System applies the Order of Precedence of Analysis Codes to select an Analysis Code from the Customer/Supplier record and tests whether the code is flagged as an Analysis Matrix Record.

  • Enter the Stock/Price Code. The System applies the Order of Precedence of Analysis Codes to select an Analysis Code from the Stock/Price record and tests whether the code is flagged as an Analysis Matrix Record.

  • If both Analysis Codes exist and are flagged as Analysis Matrix Records, the System concatenates the codes in the form xxxxyyyy (where xxxx = Stock/Price Analysis Code and yyyy=Customer/Supplier Analysis Code).

  • It then looks for a matching Analysis Matrix Record, if found, this will be used on the order.

  • If there is no matching Analysis Matrix Record, or if either code is not flagged as an Analysis Matrix Record, the System will apply the Order of Precedence of Analysis Codes to the un-concatenated codes.

EXAMPLE

Enter the Customer Code on the Sales Order Processing header window.

The System retrieves an Analysis Code of SOUTH for this Customer record and finds that this is flagged as an Analysis Matrix Record.

Enter the Stock Code on the Sales Order Processing detail window.

The System retrieves an Analysis Code of HARDWARE for this Stock record and finds that this is flagged as an Analysis Matrix Record.

The System concatenates the two Analysis Codes HARDWARESOUTH, a matching Analysis Code is found and inserted into the Sales Order Analysis field.

If the Analysis Code HARDWARESOUTH is not found, the Analysis code from the Customer record (SOUTH) will be used.

If no Analysis Code exists for the Customer, the Analysis code from the Stock record (HARDWARE) will be used.

If no Analysis Code exists for the Stock record, the System default for Sales will be used.

Note: The examples above ignore the Currency of the transaction which has to match the Analysis code in order for the rules of Order of Precedence of Analysis Codes to apply. If the Currency does not match, then the logic of the next rule is applied.

Did this answer your question?