Skip to content
English
  • There are no suggestions because the search field is empty.

Anaplan Promotion Integration Guide

This guide explains how to integrate Promotion Import from Anaplan with effectmanager.

We offer a fully automated import of promotion data from Anaplan into effectmanager.

This guide explains:

1. Setting Up the Integration

To enable the integration, the following is required:

  • An active agreement with effectmanager
  • An Anaplan export file in the required format

If you want to enable the integration, please contact our sales team.

 

2. File Requirements

The integration only accepts files that meet the following requirements.

Accepted File Format

Requirement Format
File type CSV
Number format 10000.00 (dot as decimal separator)
Date format YYYY-MM-DD

 

 

3. Promotion Import Logic

We have the following logic for the Anaplan promotion import. 

Promotion Creation

If the Promotion ID does not already exist in effectmanager:

  • A new promotion is created automatically
  • Default mechanism:
    • Buy: 1
    • Amount: 1

Promotion Updates

If the Promotion ID already exists:

  • Existing promotion data is updated for dates, subsidy, and products
  • The promotion state is updated according to the imported status
  • New values overwrite existing values for the current state


4. File Structure and Field Validation

The Anaplan file must follow the following structure. 

Column A — Promo ID

Property Value
Header Promo ID
Mapping Promotion Number
Format Text and numbers
Rules
  • Used as the unique Promotion ID
  • Mandatory field
  • If empty, the import fails with an error

 

Column B — Name

Property Value
Header Name
Mapping Promotion Name
Format Text and numbers
Rules
  • Commas are not allowed because the file is comma-separated (CSV)

 

Column C — Status
Property Value
Header Status
Mapping Promotion State

Accepted Values

Anaplan Value effectmanager State
Planned Planned
Internally confirmed Confirmed
Externally confirmed Confirmed
Declined Cancelled
Rules
  • Only the values above are accepted
  • Empty or unsupported values generate an error
Additional Logic

New Promotions

If a new promotion is imported with an initial status Declined. The promotion is rejected on import. 

Existing Promotions

If an existing promotion is imported with status Declined:

  • The existing state is preserved
  • Status is updated to Cancelled

 

Column D — Banner

Property Value
Header Banner
Mapping Chain Internal Number
Format Text and numbers
Rules for chains

The Chain ID must:

  • Match an active chain in effectmanager
  • Exist in effectmanager
  • Inactive or unknown chains generate an error.

Additional Logic
  • For new promotions, the retail chain settings determine whether subsidy calculations are based on:

    • Sales In or  Sales Out

  • After a promotion has been created, the Chain ID cannot be changed.

  • If a different Chain ID is imported for an existing Promotion ID, the import generates an error, and the promotion is not updated.


Errors

The import fails for the promotion if:

  • The Chain ID is inactive
  • The Chain ID does not exist in effectmanager
  • The Chain ID differs from the one originally imported for the Promotion ID
  • The Chain ID is no longer active on a Product ID

 

Column E — Material

Property Value
Header Material
Mapping Product Internal Number
Format Text and numbers
Rules for products

The product must:

  • Exist as an active unit in effectmanager
  • Have an active retail chain connection to the specified Chain ID

Additional Logic

  • Active products are automatically added to the promotion during import
  • If an inactive product is included in the file:
    • The product is not added to the promotion, and an error is generated
  • If a product previously existed on the promotion but is no longer included in the import file, the product is automatically removed from the promotion in effectmanager
Errors

The import fails for the promotion if:

  • The internal number is inactive
  • The chain is inactive
  • The chain is inactive on the product internal number


 

Column F — Sell-in from

Property Value
Header Sell-in from
Mapping Delivery Start Date
Format YYYY-MM-DD
Rules
  • Must match the required date format
  • Must be equal to or before the Promotion Start Date
Additional Logic
  • Updates the Delivery Start Date
  • If empty:
    • The field remains empty
    • No default value is applied

Column G — Sell-in to

Property Value
Header Sell-in to
Mapping Delivery End Date
Format YYYY-MM-DD
Rules
  • Must match the required date format
Additional Logic
  • Updates the Delivery End Date
  • If empty:
    • The field remains empty
    • No default value is applied

Column H — Sell-out from

Property Value
Header Sell-out from
Mapping Promotion Start Date
Format YYYY-MM-DD
Rules
  • Must match the required date format
  • Must be equal to or after the Delivery Start Date
  • Must be before the Promotion End Date
  • Must be filled out
Additional Logic
  • If empty, we give an error on the import of the Promotion ID
  • Updates the Promotion Start Date
  • Promotion week is automatically calculated according to effectmanager standards

Column I — Sell-out to

Property Value
Header Sell-out to
Mapping Promotion End Date
Format YYYY-MM-DD
Rules
  • Must match the required date format
  • Must be equal to or after the Promotion Start Date
  • Must be filled out

 


Column J — Mechanic 1

Property Value
Header Mechanic 1
Mapping Promotion Type
Accepted Values
  • Leaflet
  • Instore
Rules
  • Must be filled out with a value
  • Values are mapped directly to Promotion Types in effectmanager Promotion Properties

Column K — End Consumer Price

Not used by the integration.


Column L — Position 1

Not used by the integration.


Column M — Price Condition 1

Property Value
Header Price Condition 1
Mapping Price conditions for promotion subsidy
Accepted Values
  • ZP50 
  • ZP51 
  • Empty

Any other value generates an error.


Column N — Discount Type 1

Property Value
Header Discount Type 1
Mapping Price conditions for Subsidy
Accepted Values
  • Per Unit
  • Absolute
  • Empty

Any combination other than the below will generate an error. 

Price Condition Discount Type Result
If  M = ZP51 Per Unit Updates all Promotion units with the specified value per unit.
If M = ZP50 Absolute Imports the absolute value to Promotion Fixed Costs and updates all Promotion units with a divided split per unit.
If M = Empty   Empty Accepted value; nothing is updated. 

 


Column O — Discount Value Final 1

Property Value
  Header   Discount Value Final 1
Format Decimal number
Example 1000.00
Rules
  • Must use a dot as a decimal separator
  • Mandatory if Column M or N is filled
  • If Column M & N = Emtpy, we allow Column O to be empty. 

Columns P–S — Discount Setup 2

These fields follow the same validation and mapping rules as Columns M–O.


Column T — Total Volumes (CU)

Property Value
Header Total volumes (CU)
Mapping Sales In – Consumer Units
  Accepted formats 10000000 and 10000000.000000
Rules
  • Values are rounded using standard banking rounding rules
  • Value cannot be 0. If the value is 0 the import fails with an error.
  • Imported on the Consumer Unit level and effectmanager.
Additional Logic for Total Volumes (CU)  0

If Column A (Promotion ID) is new

  • If Sales In is 0, for all the Internal Numbers, the Promotion is rejected and we give an error
  • If Sales In is 0, for some Internal Number they are not added to the new Promotion ID, and we give an alert
  • If Sales In is different than 0, the Internal Number is added to the created Promotion ID
  • If Sales In is 0
  • Result: The Promotion ID is created and only contains the Internal Numbers that have Sales In


If Column A (Promotions ID) exists in effectmanager

  • If the Internal Number already exists on the Promotion in effectmanager, Sales In is updated to 0.
  • If the Internal Number is new to the Promotion and Sales In is 0, it is not added, and we give an error
  • If the Internal Number is new to the Promotion and Sales In is different than 0, it is added to the existing Promotion

 

5. Email Notifications and Error Handling

After each import, an email notification is automatically sent to the configured contact person.

The email contains:

  • Import status
  • Successfully imported promotions
  • Validation errors
  • Failed rows

Any reported errors must be corrected in the source file or in effectmanager before the next import.

 

6. Typical Validation Errors

Error Type Cause Messages
Invalid Status Unsupported status value or initial Declined

 Invalid status on row X. Promotion Status is mandatory. One of the following statuses was expected: 'Planned', 'Externally Confirmed', 'Internally Confirmed', 'Declined'

  Missing Status   Mandatory field is empty

Promotion Status is mandatory. Empty status on row X

Missing Promo ID Mandatory field is empty

Promotion ID is mandatory. Empty promotion ID on row x

Invalid Date Format Date does not match YYYY-MM-DD

Invalid 'SellOutFrom'. The following format is expected: 'yyyy-MM-dd';

Promotion Sell-out date is invalid on row x

Invalid 'SellInFrom'. The following format is expected: 'yyyy-MM-dd';

Sell-in values are invalid on row x.

  Missing Dates   Mandatory field is empty

Missing value in column 'SellOutFrom';
Promotion Sell-out date is invalid on row x

  Start Date > End Date

  Does not meet
  requirements

(Delivery) Start date > (Delivery) End date

Delivery Start date should be smaller than the Delivery End date for row [number] '

  Non-existing Chain    ChainID does not match
   ID in effectmanager

On line [number]: unknown retail chains 

  Empty Chain    Mandatory field is
   empty

On line[number]: unknown retail chains: ()

Inactive Chain Chain is inactive in effectmanager

 On line [Numbers]: inactive retail chain units: ([Chain name], [Product Internal Number])

On line : The following units are used but are not available for the chosen retail chain:
1. [ProductName] ([Internal Number]) in retail chain [Retail Chain name] but retail chain unit is inactive and product is inactive. 

Inactive Product The Product is inactive

On line [Numbers]: inactive retail chain units: ([Chain name], [Product Internal Number])

On line : The following units are used but are not available for the chosen retail chain:

1. [ProductName] ([Internal Number]) in retail chain [Retail Chain name]  but retail chain unit is inactive and product is inactive.

Inactive Retail Chain Relation to the product No active assortment (Retail Chain Connection) exists for the period

On line [number]: Missing retail chain units ([Chain name], [Internal Number]) 

On line [Number]: The following units are used but are not available for the chosen retail chain 

Invalid Decimal Format Decimal uses a comma instead of a dot, and this will shift all the columns. 

Product import data mapping failed.

There are 20 headers and 21 columns in a row:

  Invalid Promotion Type  Type does not match Promotion mechanic is not accepted on row [number].
  Missing Promotion Type   Mandatory field is empty

Promotion mechanic is missing on row [number]

Invalid Discount Type
Price Condition 1 of 2

Unsupported discount type Price condition 1 is invalid on row 2

   Invalid Discount Type
   Price Condition 2 of 2

   Unsupported discount
   type combinations of the
   columns 
 Either all of the following must be filled in, or neither: Price Condition 1, Discount Type 1, Discount Value Final 1 on row 

   Invalid Format for
   Discount Value

  Discount Value is not in
  the proper format. 
 DiscountValueFinal1 '232.2454.3456' is not in the proper format;
Zero Volume New Promotions Total volume is 0 on one or more products Total Volumes must be a number greater than 0 on all new products.

   Zero Volume Existing
   Promotions

   Total volume is 0 on
   one or more products
Total Volumes must be a number greater than 0 on all new products.
  Move Promotion    Adding Existing
  Promotion ID on
  another chain

Promotion with number [PromotionID] already exists on the following retail chains: [Chain name]