{"section":"tutorials","requestedLocale":"en","requestedSlug":"accounting-fields","locale":"en","slug":"accounting-fields","path":"docs/en/tutorials/b2b/b2b-buyer-portal/accounting-fields.md","branch":"main","content":"**Accounting fields** allow you to collect additional information from purchases in the **B2B Buyer Portal**, such as **cost center**, **internal purchase order (PO) number**, and other control information. This information is associated with the order, helping the company standardize information, apply internal rules, and facilitate audits.\n\n> ⚠️ This feature is only available for stores using B2B Buyer Portal, which is currently available to selected accounts.\n\n## Using accounting fields\n\nAccounting fields allow your company to:\n\n- Standardize purchase information between organizational units and buyers.\n- Require mandatory information before completing the order.\n- Reduce input errors during checkout.\n- Improve traceability, auditing, and compliance.\n\n## Roles\n\nAccounting fields involve two roles:\n\n- **Admin**: Creates the required fields for the company and defines where each field displays in the checkout.\n- **Buyer**: Completes the fields during purchase.\n\n## Applying fields\n\nFields can be configured at different levels:\n\n- **Order**: Applies to the entire purchase.\n- **Item**: Applies to each product in the cart.\n- **Address**: Applies to shipping or billing information.\n\n## Field types\n\nWhen creating an accounting field, the admin must choose one of the following types:\n\n### Text (`text`)\n\nAllows buyers to enter any value at checkout.\n\n- Accepts any sequence of characters.\n- Doesn't perform any format validation besides checking if it's required (when enabled).\n\n### Number (`number`)\n\nAllows restricting input to numeric values.\n\n- Only accepts numbers.\n- May be used when the value must follow a strictly numeric format.\n\n### Option (`option`)\n\nDisplays a list of predefined values for selection.\n\n- The buyer must select one of the available options.\n- Allows for data standardization.\n- It's the only type that can have a **default value per organizational unit**.\n\n## Configuring fields\n\nWhen creating a field, the admin defines the following:\n\n- Field name.\n- Type (`text`, `number`, or `option`).\n- Application level (order, item, or address).\n- Required setting (required or optional).\n- Status (enabled or disabled).\n\n## Using default values at checkout\n\nTo reduce manual input and avoid inconsistencies, you can configure default values per **organizational unit.**\n\nYou can set the following as defaults:\n\n- Address.\n- Card.\n- Accounting fields of type `option`.\n\n> ⚠️ Only fields of type `option` can be set as a default value.\n\n> ℹ️ For more information on how to add or configure accounting fields, see [Add or edit accounting fields](https://help.vtex.com/en/docs/tutorials/adding-or-editing-accounting-fields).\n\n## Results for admins\n\n- Consistent information across organizational units.\n- Better application of internal purchase rules.\n- Increased security for reports and audits.\n\n## Results for buyers\n\n- Checkout fields display with clear instructions.\n- Some values may be autofilled (when configured by the organizational unit).\n- Orders are completed with less rework and lower risk of error.\n\n## Usage examples\n\n### Requiring mandatory information on all orders\n\n- **Scenario:** The company needs to record the **cost center** and **PO number** on all orders.\n- **Configuration:** Create required fields at the `order` level (`option` for cost center and `text` or `number` for PO number).\n- **Result:** The order can only be completed once all information is provided, ensuring compliance.\n\n### Autofilling checkout fields by organizational unit\n\n- **Scenario:** The company wants to reduce errors and purchase time across multiple units.\n- **Configuration:** Set default values by **organizational unit** for address, card, and fields of type `option`.\n- **Result:** The checkout is autofilled after login, reducing effort.\n\n### Classifying projects or activities\n\n- **Scenario:** The company needs to link each purchased item to a project or activity.\n- **Configuration:** Create an `option` field at the `item` level with a list of active projects or activities.\n- **Result:** Each item is linked to a project, facilitating allocation and cost control.\n\n### Differentiating purchases for resale and internal consumption\n\n- **Scenario:** The company needs to identify the purchase type on the order.\n- **Configuration:** Create an `option` field at the `order` level with predefined values (resale/internal consumption).\n- **Result:** Allows orders to be segmented and fiscal or commercial rules to be applied.\n\n### Segmenting for management reports\n\n- **Scenario:** The finance team needs to classify orders by expense type.\n- **Configuration:** Create standardized `option` fields at the `order` level (example: CAPEX, OPEX).\n- **Result:** Reports can be filtered without manual post-processing.\n\n### Requiring justification for specific purchases\n\n- **Scenario:** The company requires justification for sensitive purchases or those above a certain amount.\n- **Configuration:** Create a required `text` field at the `order` level.\n- **Result:** The justification is recorded on the order for review or auditing.\n\n### Standardizing and centralizing governance\n\n- **Scenario:** The company needs to avoid input variations.\n- **Configuration:** Use `option` fields instead of free text and define values per **organizational unit**.\n- **Result:** More consistent and auditable information throughout the operation.\n\n### Controlling compliance for regulated companies\n\n- **Scenario:** The company needs to record regulatory codes per item.\n- **Configuration:** Create a required field at the `item` level (for example, of type `text` or `option`).\n- **Result:** Each purchased item includes the necessary information for regulatory audits."}