> ## Documentation Index
> Fetch the complete documentation index at: https://docs.merchantops.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# MAP policies

> Minimum Advertised Price policies as legal/compliance data, with per-organization sharing off by default.

A MAP (Minimum Advertised Price) policy is the legal document a brand issues that
sets the floor a product may be advertised at. In MerchantOps a policy is
compliance data: it is reviewed under a governance workflow, kept separate from
your catalog price records, and — unlike most reference data — **not shared across
organizations by default**. This page is for merchandisers and compliance owners.
For MAP as a price *record*, see [Price records](/pricing/price-records).

## Policies vs. prices

A **MAP policy** is the document for a brand. It contains many **MAP prices** —
one per product identifier — that state the minimum advertised price. Policies
are versioned: when a brand issues a new one and it is approved, it supersedes the
previous active policy for that brand.

Each policy carries a status:

| Status           | Meaning                                                 |
| ---------------- | ------------------------------------------------------- |
| `pending_review` | Extracted and awaiting a governance decision.           |
| `accepted`       | Approved and active for the brand.                      |
| `rejected`       | Declined; preserved but filtered out of default views.  |
| `superseded`     | Replaced by a newer approved policy for the same brand. |
| `archived`       | Retired from active use.                                |

<Note>
  MAP policies are usually ingested from a brand's uploaded file. A per-brand parser
  template maps that file's columns and date format so future uploads for the brand
  extract consistently.
</Note>

## Sharing is off by default

MerchantOps is multi-tenant, and most reference data (brands, product knowledge)
is shared across organizations. **MAP policies are the exception.** Because a MAP
policy is a legal agreement between a specific brand and a specific reseller,
sharing it across organizations carries legal and compliance risk. So MAP-policy
sharing is **off by default**: a policy you contribute stays private to your
organization unless sharing is explicitly enabled.

<Warning>
  Changing the MAP sharing setting affects **future** contributions only. Policies
  already stored keep the sharing decision they were saved with.
</Warning>

## Governance

MAP policies follow a review workflow with roles and organization-scoped rules:

<ResponseField name="Approve / reject" type="requires approval permission">
  Approving or rejecting a policy requires the MAP approval permission. Approving
  a policy supersedes the brand's previously active policy. Rejecting requires a
  reason; rejected data is preserved and flagged, and the contributing
  organization can fix and resubmit or delete it.
</ResponseField>

<ResponseField name="Delete" type="restricted">
  Only policies in `pending_review`, `rejected`, or draft states can be deleted —
  an approved (active) policy cannot. Only the organization that contributed a
  policy can delete it. Deleting a policy removes its prices but never touches
  your products.
</ResponseField>

Policies can also be archived or deleted in bulk, subject to the same per-policy
rules.

## Detecting changes

When a brand issues a new policy, you can compare it against the brand's currently
active policy to see exactly which prices were added, changed, or removed before
you approve. Once you accept a new policy, run a
[comparison](/pricing/comparison-proposals) to find where your catalog prices now
fall out of line and generate proposals to fix them.

<CardGroup cols={2}>
  <Card title="Comparison & proposals" icon="code-compare" href="/pricing/comparison-proposals">
    Compare a policy against your catalog and review changes.
  </Card>

  <Card title="Price records" icon="tag" href="/pricing/price-records">
    MAP as a per-variant price record.
  </Card>
</CardGroup>
