Discuss business intelligence, integration, compliance and a host of other SAP-related topics – implementation, best practices and resources to negotiate the world of SAP better!

« Is Your SAP Application Compatible With IE8 | Main | BI In Cloud -Part 1 »

Implementing Vending Machine functionalities in SAP

Over the years, Vending machines have become a ubiquitous sales channel for Food and Beverage companies. Among their various benefits, they offer portability in terms of their set up, are low cost driven, and offer a wide reach due to less space constraints. 

In this blog, we will discuss the key vending machine functionalities and how can they be mapped into SAP. The scope of this blog is restricted to the processes where the vending machines are owned by the company

  • Installing a vending machine - Vending machines can either be company owned or sold to a retailer. In the first case, it is treated as a company owned asset and is then created as an equipment in the Plant Maintenance module. The ongoing maintenance activities for the equipment upkeep will be driven from these modules.
  • Logistics Pre-requisites for Vending Machine - For Logistics purpose, we can set up a virtual plant corresponding to all the warehouses that are linked to the sales area. This will help us in managing the Vending Machine operations separate from the normal warehouse operations. We can also have separate MRP and ATP check rules for normal customers and Vending Machines by defining a separate Virtual plant. All stock movements will happen from this virtual plant. The Virtual plant stock will be populated through intra company stock transfers from the warehouse.

From a Sales perspective, Vending machines will be created as internal customers. These customers will have the above virtual plant as their delivering plant. They will be exempt from credit checks.

  • Stocking of the vending machine - For the initial stocking of a machine, one can define a BOM that has Inventory and Pricing at Item level. This BOM will be a "starter pack" for all new Vending machines. Setting it up as a BOM will help us defining the starter pack only once and helps is faster order entry since we need to create a sales order for only one line item.
  •  Sales from Vending machine - All initial and subsequent stocking of the vending machine will be done through consignment orders. All sales from the vending machines will be captured as issues from consignment stock. These consignment issue orders will have immediate delivery.

Typically, vending machines will allow two types of payment - Credit card and Cash. These will be the two types of Payment terms / methods defined in the customer master. Credit Card details need to be captured for sales through credit cards. These orders will be created as "Pre authorized" orders  in SAP since the authorization checks would have been carried out at the time of the sales at Vending Machine.

  • Data Capture from Vending machines -  Stock, Sales and Payment related information needs to be captured on a regular basis for the Vending machine. Real time data capture can be achieved through Wireless Polling or a mobile connect via GSM that can post transactions in SAP. For machines that allow credit cards, the communication link used for credit card authorization can be used to for the machine data transfer to the company.  
  •  Accounting operations for Vending machines - Accounts receivables will be created in the Vending Machine customer account whenever a sales is made. Credit Card settlement is done for credit card sales. Payment is posted for the cash collected from the vending machine. These will be cleared against the AR. At any point of time, the net AR on the Vending Machine should be zero.

A G/L account and Profit center needs to be defined to capture the operating costs of vending machines like rental charges etc.  FI Postings will be done into this cost center with the customer / vending machine reference.

  • Evaluating profitability of Vending machines - Since Vending machines are created as customers, we can define COPA derivation rules at customer level to determine and evaluate their profitability.  All AR postings for the customers will be posted to the Profit Center defined above.



Hi Nageshwar,

If I want to configure end to end scenario of vending machine sales.

Are there any specific configuration which we need to activate for vending machine functionality.

Or as mentioned above we can proceed with the following steps.

1)Create equipment master for the vending machine in PM.

2)Create a virtual plant through which the material will go to vending machine.

3)BOM creation for intial starter pack

4)Creation of vending machine as a internal customer.

Please advise if we are creating vending machine as equipment and also as internal customer. Is equipment being created only for maintenance purpose?

Thanks & Regards,
Vishwas Borkar

Hi Vishwas

what you mentioned looks good. However, you also needs to set up the vending machine as a profit center and carry out the related FICO settings. You need to capture the rental charges / royalties you pay into the profit center. This will enable you to check profitability of the machines.

Further you also need to define how do you define your pricing. Will it be customer wise/ region wise/ zip code wise etc. The price of products in the VMs varies based on all the above criteria. I will revert to you in case i can think of anything else

Nageshwar, good scenario. Couple of questions: Are you defining each of these Vending machine as a virtual plant. Woudn't this increase maintenance of the config for thousands of plants. Why could not this be defined as Storage location and perfor storage location based MRP to replenish the stock? In that scenario you may not need to use consignment sales scenario and still a preauthorized sales order for the internal customer (Vending machine can be placed to deliver the stock from specific storage location attached to the Vending machine/Internal scenario. Am i missing something?

Hi Venkat

The basic idea is to create each VM as a Customer and assign a virtual plant as a delivering plant in the customer master. This is to basically keep the VM operations separate from the other customers. Hope this clarifies

I am wondering on how should I manage de stocks on each vending machine. Should they be createad as a Storage location?

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)

Please key in the two words you see in the box to validate your identity as an authentic user and reduce spam.

Subscribe to this blog's feed

Follow us on

Blogger Profiles

Infosys on Twitter