{"section":"tutorials","requestedLocale":"en","requestedSlug":"configuring-b2b-self-service-stores","locale":"en","slug":"configuring-b2b-self-service-stores","path":"docs/en/tutorials/b2b/b2b-suite/practical-guides/configuring-b2b-self-service-stores.md","branch":"main","content":"> ⚠️ This documentation applies to B2B Suite only.\n\nThe self-service scenario is the most flexible in B2B. It allows the customer to go through the purchase flow without interacting with sales reps, which reduces friction. For this reason, the self-service process is similar to buying in B2C.\n\nThis scenario offers advantages for users since they can explore the catalog, inventory, and prices freely, according to their user roles. In addition, they can view information and place orders at any time, without intermediaries.\n\n> ℹ️ For B2C clients who want to set up a B2B scenario, please contact [our Support](https://support.vtex.com/hc/pt-br/requests).\n\nOne of the first decisions you must make when setting a B2B store is whether it will be open or closed to the public.\n\nIf the **store is open to the public**, any user can view all the products. This option is handy for those who want to make their website stand out and implement SEO strategies focused on ecommerce.\n\nThe companies that choose this scenario are usually the manufacturers of a particular product since they already have product references and information — such as images and descriptions — for each item they produce.\n\nIn a **store closed to the public**, only allowed users can view the products. Companies that choose this option usually do not want to publicly display the items they sell. One of the main reasons for this is that some companies opt to create stores designed for a specific purpose, such as exclusive sales to employees.\n\nBy default, **VTEX stores are open to the public**. It also applies to B2B.\n\nHowever, you can change the default configuration and set your store as:\n\n- [Closed to anonymous users](#fechada-a-usuarios-anonimos)\n- [Public with restrictions](#publica-com-restricoes)\n\n## Closed to anonymous users\n\nAnonymous users are unauthenticated users who have no access to a particular store.\n\nAnonymous users are also internally called “unauthenticated” users because seeing the product catalog requires authentication.\n\nTo restrict catalog viewing to authenticated users only, you will need to [configure permissions to acess the store](https://developers.vtex.com/vtex-developer-docs/docs/vtex-io-documentation-configuring-a-b2b-environment).\n\n## Public with restrictions\n\nPublic stores with restrictions limit store access to users who are authenticated and meet specific predefined requirements. If the user does not fulfill both conditions, they will not view the product catalog.\n\nTo define the access criteria, please follow the steps below:\n\n1. [Adding users](#cadastro-de-usuarios)\n2. [Approving users](#aprovacao-de-usuarios)\n3. [Configuring the product catalog](#configuracao-do-catalogo-de-produtos)\n4. [Configuring the logistics strategy](#configuracao-da-estrategia-de-logistica)\n5. [Configuring prices](#configuracao-de-precos)\n6. [Configuring payment methods](#configuracao-de-meios-de-pagamento)\n\n### Adding users\n\nYou can add users using a form, which you should create according to your needs.\n\nIt should require essential information about the user to help you assess whether they can browse the store considering factors such as those detailed below.\n\n| Context               | Store operation                                                                                                                                                                                                                                                                                                               |\n| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Sales channel         | This decision is usually made to strengthen a particular sales channel. For example, an industry can create a B2B ecommerce platform to serve its distributors, large resellers, and some large companies.                                                                                                                    |\n| Legal issues          | Some companies only sell their products to customers who act as resellers. This is common in cases where products have many technical specifications. In this case, the reseller needs to be familiar with the characteristics of the products. They can also act as a sales consultant and assist in installing the product. |\n| Geographical location | Initially, stores can serve only certain regions to facilitate their operational and logistical control.                                                                                                                                                                                                                      |\n\nIn the B2B scenario, it is common to use basic information such as name, email, phone number, street name, and city. You can use a form to get this information.\n\n> ❗ The field used as a conditional rule in the trade policy **cannot be in this form** because user approval is the store's responsibility.\n\nOn VTEX, you can create forms through [Master Data](/en/docs/tutorials/master-data) — the store's database —, which stores information of the store's customer database and organizes the data received through forms.\n\nTo create a form, please follow the instructions below:\n\n1. Create a data entity with all the information you want on the form. If you have questions, check out the article on [how to create a data entity in Master Data](/en/tutorial/criando-entidade-de-dados--tutorials_1265?&utm_source=autocomplete).\n\n2. Create the form using the tutorial [Creating a form in Master Data](/en/tutorial/criando-formulario-no-master-data/).\n\nSo when a customer fills out the form, their data will be included in the Master Data customer table.\n\n> ℹ️ You can choose to create a form with more features, such as ZIP code autofill, multiple tabs, or NAICS (North American Industry Classification System) code. If you choose this type of form, check out the [VTEX IO](https://developers.vtex.com/vtex-developer-docs/docs/vtex-io-documentation-creating-a-new-custom-page) technical documentation.\n\n### Approving users\n\nYou can approve or add users in the [Master Data](/en/docs/tutorials/master-data). Ecommerce managers are the ones responsible for approving customer access to store content.\n\nTo approve customer access to the store, it is necessary to approve each of the customers who filled out the form. Customer approvals can be done in the Admin or via API.\n\n### Configuring the product catalog\n\nTo determine which products each group of users will be able to view, you must configure your store’s trade policies. Each trade policy has its own catalog and pricing and logistics specifications. You can [create a new trade policy](/en/docs/tutorials/creating-a-trade-policy) specifically for this purpose or configure an existing one.\n\nWhen creating or configuring a trade policy for the B2B context, you’ll need to select the products that will be associated with it. On VTEX, you can associate SKUs individually through the Admin or in bulk using the [Catalog API](https://developers.vtex.com/vtex-developer-docs/reference/catalog-api-overview).\n\n> ℹ️ We recommend configuring SKUs using the [Catalog API](https://developers.vtex.com/vtex-developer-docs/reference/catalog-api-overview) — association or creation in bulk or individually — for companies that already have a mature ecommerce operation and manage and maintain their own product catalog in ecommerce. This infrastructure allows you to import the entire catalog with all current configurations via [ERP integration](https://developers.vtex.com/vtex-rest-api/docs/erp-integration-guide).\n\n### Configuring the logistics strategy\n\nLike the catalog, logistics must be configured in the trade policy.\n\nYou have to associate the trade policy configured for the B2B scenario with the shipping strategies related to ecommerce logistics, including loading docks, warehouses and shipping/carrier strategies.\n\nYou can configure loading docks, warehouses and shipping strategies using the [Logistics API](https://developers.vtex.com/vtex-developer-docs/reference/logistics-api-overview) or in the [Admin](/en/tracks/logistica-101--13TFDwDttPl9ki9OXQhyjx).\n\nTo configure it in the Admin, you must:\n\n1. **Associate the B2B trade policy with a loading dock:** fill in the field 'Shipping policies and sales channels' on the page for adding/editing loading docks. If there are no docks listed in your store, you must [add a loading dock](/en/tutorial/como-cadastrar-doca--7K3FultD8I2cuuA6iyGEiW?&utm_source=autocomplete). In this field, you must enter the trade policy you have configured for the B2B scenario.\n\n2. **Associate a carrier with a loading dock**\\: fill in the field 'Shipping policies and sales channels' on the page for adding/editing loading docks, in which you must select the trade policy configured for the B2B scenario. If there are no carriers listed in your store, you must [add a carrier](/en/tracks/logistica-101--13TFDwDttPl9ki9OXQhyjx/55MezrFTw2limlgT7KUg6l).\n\n3. **Define a warehouse and associate it with a loading dock**\\: choose a loading dock on the page for adding/editing warehouses. If there are no warehouses listed in your store, you must [add a warehouse](/en/tutorial/gerenciar-estoque).\n\nIn the configuration via [Logistics API](https://developers.vtex.com/vtex-developer-docs/reference/logistics-api-overview), you must follow these exact instructions. However, you can use the [POST Create/Update Dock](https://developers.vtex.com/vtex-developer-docs/reference/docks#createupdatedock)</code> endpoint to associate a trade policy with a loading dock and a carrier with a loading dock by filling in the `salesChannels` and `freightTableIds` parameters, respectively.\n\nTo associate a warehouse with a loading dock, fill in the `warehouseDock` parameter of the `[POST Create/Update Warehouse](https://developers.vtex.com/vtex-developer-docs/reference/warehouses#createupdatewarehouse)` endpoint.\n\n### Configuring prices\n\nYou can configure prices through [price tables](/en/docs/tracks/tabelas-de-preco-definicao-de-conceito), a set of prices applied to certain SKUs in a given context. To configure prices, follow the steps below:\n\n1. [Create a new price table](/en/docs/tutorials/creating-price-tables).\n2. Edit the pricing spreadsheet settings.\n3. Import the pricing spreadsheet you have configured.\n\nYou can also create and edit price tables via the `[POST Create/Edit Fixed Prices on a price table (or trade policy)](https://developers.vtex.com/vtex-developer-docs/reference/prices-and-fixed-prices#createeditfixedpricesonapricetableortradepolicy)` endpoint.\n\n### Configuring payment methods\n\nIn the B2B business model, a common practice is to grant credit to some of your trusted customers, usually resellers, so that they use that credit to buy items from the retailer.\n\nCredit management is a versatile resource and, as a result, you can use it in different B2B scenarios. Check out some business contexts in which you can employ this strategy in the article [Credit management through Customer Credit](/en/docs/tutorials/managing-credit-with-customer-credit).\n\nOn VTEX, retailers can use [Customer Credit](/en/docs/tutorials/customer-credit-overview), an app in which they can offer and manage the credits granted to their customers. To install the app, check out the complete step-by-step guide in [Installing Customer Credit ](/en/docs/tracks/installing-customer-credit).\n\n> ℹ️ Standard payment methods, such as credit card and debit card, can also be configured for the B2B context. Credit management is the method most frequently used by customers.\n\nAfter installing the app in your store, you must configure Customer Credit as an available payment method. This way, your customers will be able to make their purchases using the credit granted to them. To configure Customer Credit as a payment method in your store, check out [this tutorial](/en/tracks/customer-credit-como-comecar--1hCRg21lXYy2seOKgqQ2CC/21ok0GBwmcIeaY2IukYMOg#condicoes-de-pagamento).\n\n## Additional content: tax differences\n\nIn Brazil, one of the particularities of B2B businesses is that it is common to have different taxes applied to the total price of each item.\n\nFor more information, check out the article [Surcharges](/en/docs/tracks/surcharges-what-they-are-and-how-to-create-them).\n\n### Simple tax system\n\nFor stores with a simple tax system — in which only one type of tax is applied to the SKU price — there are two recommended methods for configuring the pricing model:\n\n- Configuring [price tables](/en/docs/tracks/tabelas-de-preco-definicao-de-conceito). For tax purposes, you must create price tables with full prices since promotional price tables are not applicable in this context.\n\n- Applying [taxes](/en/tutorial/como-criar-taxaimposto/) to SKU prices to prevent them from being displayed in the store window.\n\n### Complex tax system\n\nFor stores with complex tax systems, in which there are many variables for calculating taxes on products and extensive catalogs, the best way to calculate taxes is through integration with an external system.\n\nVTEX provides an [integration protocol for external tax services](https://developers.vtex.com/vtex-rest-api/docs/tax-service-integration-guide) that connects to the system and sends the shopping cart information — such as the region of origin of the products and the buyer — to calculate the taxes for each SKU.\n\nFor more details on the protocol, check out the documentation below:\n\n- [System overview](https://developers.vtex.com/vtex-rest-api/docs/tax-services-overview)\n- [How the protocol works](https://developers.vtex.com/vtex-rest-api/docs/tax-services-specification)\n- [How to implement Tax Service](https://developers.vtex.com/vtex-rest-api/docs/tax-services-recipe)\n- [Implementation example](https://github.com/vtex-apps/tax-protocol-example)\n\n## Additional content: VTEX Intelligent Search\n\n[VTEX Intelligent Search](/en/tracks/vtex-intelligent-search--19wrbB7nEQcmwzDPl1l4Cb) is a search application that helps customers during their shopping journey by suggesting products that are related to their profile.\n\nIn the B2B context, VTEX Intelligent Search is an essential feature that can be used to search for items by part number — the code referring to the product model.\n\nBesides, it offers benefits such as adding keyword synonyms and changing keyword relevance.\n\nYou can integrate this application with your ecommerce website via VTEX IO settings. Learn how to do that in our step-by-step [guide on how to configure VTEX Intelligent Search](https://vtex.io/docs/app/vtex.search@2.4.0/)."}