> For the complete documentation index, see [llms.txt](https://kb.bevica.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kb.bevica.com/documentation/deprecated-features/legacy_sales-purchase_price_and_discounts.md).

# Legacy Sales/Purchase Price and Discounts

This is a deprecated feature

{% hint style="danger" %}
Legacy Sales & Purchase Price and Discounts will be deprecated with 2026 Wave 1 (v28). See: [Sales and Purchase Price Lists - New Pricing Experience](/documentation/guides/pricing-costs-and-charges/sales_and_purchase_price_lists_-_new_pricing_experience.md)
{% endhint %}

With Bevica sales pricing you have greater flexibility and control over how you charge your customers.

While standard Business Central operates with a ‘Best Price’ pricing model, in Bevica it’s possible to change this to ‘Most Specific’ pricing, allowing you to be more accurate with your pricing and discounting.

It’s easy to track where a price or discounts comes from on any sales transaction. Prices can be set for items at the company, group, customer or campaign level, duty free or duty paid, in specific units of measure and with quantity breaks each with validity start and end dates.

A full audit lets you see which prices have been applied to all sales transactions and posted invoices/credits.

Bevica converts prices from one duty status to another, meaning you only have to create prices in one status for both to be covered.

{% hint style="warning" %}
**Prerequisites**

All set up required for Purchases, Sales, Finance and Inventory is completed.

Decide whether the company wants to operate best or most specific sales pricing.

For more information on managing sales pricing, see [Record Special Sales Prices and Discounts](https://docs.microsoft.com/en-us/dynamics365/business-central/sales-how-record-sales-price-discount-payment-agreements).
{% endhint %}

## Restrictions

* Sales transaction lines will not convert a price to the alternative duty status if the price includes VAT. In this case, prices must be set in the duty status of the transaction.
* Sales transaction lines will not convert a price to the alternative duty status if the order is in currency. In this case, prices must be set in the duty status and currency of the transaction.

## Most Specific Pricing Process

If you want to use Bevica Specific Prices, you will need to activate the functionality.

1. In the ![](https://2932934759-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfUgpGDVvyqBWVvwVIy9a%2Fuploads%2Fgit-blob-d08791d5454211f4ad6c103dcb698478e14f0cc7%2FgufIFZWEMWwEKu9JXQbzh0ccB8rKNf0Ikg.png?alt=media) button, search for **Bevica Setup**.
2. In the **Pricing** fasttab, turn the **‘Apply most specific pricing’** on.

From now on, sales transactions will look for the most appropriate price from the available sales price lines:

1. It will first look for a valid **‘Campaign’** price.
2. If it doesn’t find a price in **‘Campaign’** it will look for a **‘Customer’** Price.
3. If not found, it will look at **'Customer Price Groups'** then **'All Customer'** prices.
4. If there are **no valid Sales Prices,** its final check is the **‘Unit Price’** field on the item record. Bevica will assume that the Unit Price is duty paid.

## Sales Prices - Duty

For duty controlled items, the Variant Code field is mandatory and will default to Duty Paid.

While processing duty transactions, Bevica will search for a price and try to match the transactions Duty Statuses (Variant Codes) on the Sales Price record.

If no exact match is found, but a valid price record of the alternative duty status exists, Bevica will convert that price into the duty status of the order by either adding or taking the duty value from the price.

{% hint style="info" %}
This means that you can load Duty Free price records and when duty changes, any new Duty Paid sales lines reflect that price change.
{% endhint %}

{% hint style="info" %}
Sales transaction ‘Document Date’ is used against start and end dates to find valid prices at a particular date.
{% endhint %}

## Sales Line Discounts

Bevica sales discounting operates a best discount model, the system will search for the highest discount available on a sales line. If you want to apply different discounts per duty status for an item or item discount group, the Variant Code can be used.

{% hint style="info" %}
When creating a sales discount record, you have the option of leaving the Variant Code blank. If you do so, Bevica will apply the discount to both Duty status.
{% endhint %}

## Where Used Prices

When looking at sales transactions, it's useful to see how Bevica came at the price or discount. All sales transactions, Posted Sales Invoice and Posted Sales Credit Memo lines can display this information. This can be done in two ways:

In the ![](https://2932934759-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfUgpGDVvyqBWVvwVIy9a%2Fuploads%2Fgit-blob-d08791d5454211f4ad6c103dcb698478e14f0cc7%2Fxq5scsGKCPaDMIvV_Pkrt6oIY_LLmwGTNg.png?alt=media) button, search for **Posted Sales Invoices/Posted Sales Credit Memo**.

1. Select one document and open the transaction’s card.
2. In the Lines section, you will need to click on ‘More Options’ > Lines > Where Used Sales Price or Where Used Sales Line Disc. This will show you the price or discount record itself.

OR

1. In the ![](https://2932934759-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfUgpGDVvyqBWVvwVIy9a%2Fuploads%2Fgit-blob-d08791d5454211f4ad6c103dcb698478e14f0cc7%2F4S-UqBYUCvYQKS9AyfE6ZWbqvJmqvUkbRQ.png?alt=media) button, search for **Posted Sales Invoices/Posted Sales Credit Memo**.
2. Select one document and open the transaction’s card.
3. In the Lines section, you can add the following fields in the lines:
   * Sales Price Code
   * Sales Price Type\*
   * Sales Disc. Code
   * Sales Disc. Sales Code
   * Sales Disc. Type\*

{% hint style="info" %}
(\*) If the line is not linked to a Sales Price or Discount record, the ‘Sales Price Type’ and ‘Sales Disc Type’ fields will display ‘**Customer**’. This should be ignored.
{% endhint %}

## Testing Sales Prices

To view all prices that might be applied to a customer, you can do the below test:

1. In the ![](https://2932934759-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfUgpGDVvyqBWVvwVIy9a%2Fuploads%2Fgit-blob-d08791d5454211f4ad6c103dcb698478e14f0cc7%2F6G_aIb_O8L2hL5WVu5pu5wgVhPHm7Kzb6g.png?alt=media) button, search for **Sales Quotes**.
2. Create a Sales Quote and add relevant items to it adding a quantity to each line.
3. Bevica will calculate all item prices and discounts.

{% hint style="info" %}
To add items in bulk in the lines section, click on Manage > **Select Items**. Also, changing the **Document Date** prior to creating the lines, will find the prices valid at that date.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://kb.bevica.com/documentation/deprecated-features/legacy_sales-purchase_price_and_discounts.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
