What is B2B and B2C?

3.1.1 What is B2B and B2C?There are many industry definitions for Business-to-Business (B2B) and Business-to-Consumer (B2C) applications. To develop your application with Commerce Edition, you must understand a basic distinction between B2B and B2C from a Commerce Edition application business model perspective.

Both B2B and B2C applications allow Customers to place Orders for Products. The main difference between B2B and B2C is the definition of the Customer.

In a B2B application, a Customer is a predefined Business Partner. You have a predefined business relationship with the Customer before they access your e-business application. Your existing applications will already contain data for this Customer. You will probably set up the Web user accounts for the Business Partner in advance. Customer Numbers are already defined and can be validated against your existing database.

In a B2C application, a Customer is any Web user or the general public consumer. You do not know anything about the Customer until they place their first order. The Customer must register or set up their own account in order to place orders. You have no information for the Customer in your existing database. A Customer may register to place only one order.

This distinction will help you understand the Commerce Edition data model and basic rules for validation and processing. The Commerce Edition database has been designed to support both B2B and B2C applications. If you are implementing only a B2C application, you may not require some files and fields created specifically for B2B applications. If you are implementing only a B2B application, you may not require some files and fields created specifically for B2C applications.

The Commerce Edition database will also support a combined B2B and B2C application. A combined application allows you to create one Web site, which allows your existing Customers (B2B) and new Web users (B2C) to order products. Depending on whether the Customer is B2B or B2C, Commerce Edition will perform the appropriate processing logic and will use the appropriate database files.