> Shopify Plus: > Only stores on the [Shopify Plus](https://www.shopify.com/plus) plan can use apps with B2B features. Merchants often need to create draft orders for company approval when selling business-to-business (B2B). After [creating a company](/docs/apps/build/b2b/start-building), you can use the GraphQL Admin API to [create draft orders](/docs/api/admin-graphql/latest/mutations/draftOrderCreate) for a purchasing entity. A purchasing entity is a combination of the company, company contact, and company location. ## What you'll learn In this tutorial, you'll learn how to do the following tasks: - [Calculate a draft order for a purchasing entity](#step-1-calculate-a-draft-order-for-a-purchasing-entity) - [Create a draft order for a purchasing entity](#step-2-create-a-draft-order-for-a-purchasing-entity) - [Send an invoice for a draft order](#step-3-send-an-invoice-for-a-draft-order) - [Mark a draft order as complete](#step-4-mark-a-draft-order-as-complete) ## Requirements - Your app has the `write_products` [access scope](/docs/api/usage/access-scopes). Learn how to [configure your access scopes using Shopify CLI](/docs/apps/build/cli-for-apps/app-configuration). - You've added [products](/docs/api/admin-graphql/latest/objects/product) to your development store. - You've [created a company](/docs/apps/build/b2b/start-building). ## Step 1: Calculate a draft order for a purchasing entity Before creating a draft order for a purchasing entity, you can preview information such as total taxes and prices using the [`draftOrderCalculate`](/docs/api/admin-graphql/latest/mutations/draftOrderCalculate) mutation: