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

# Physical Fulfillment

> Cart triggers, subscription IDs, physical products to ship, and fulfillment metadata.

Physical Fulfillment connects subscription checkout purchases to the Shopify products that should ship on renewal.

<Info>
  Find this module in **Shopify Stores** > **Edit Checkout** > **Subscriptions**.
</Info>

## How it works

Use this module when buying one checkout product should create or update a physical subscription and save one or more products for future fulfillment.

## Settings reference

<AccordionGroup>
  <Accordion title="Fulfillment mappings">
    **You will set:** Mapping list

    The list of subscription-to-fulfillment mappings.
  </Accordion>

  <Accordion title="Subscription trigger">
    **You will set:** Shopify product picker

    The checkout product that starts the physical subscription mapping.
  </Accordion>

  <Accordion title="Trigger quantity">
    **You will set:** Number field

    How many units of the trigger product are required.
  </Accordion>

  <Accordion title="Subscription">
    **You will set:** Subscription selector or ID field

    The Paysight subscription this purchase should create or update.
  </Accordion>

  <Accordion title="Subscription title">
    **You will set:** Text field

    A friendly title for the mapped subscription.
  </Accordion>

  <Accordion title="Lead time hours">
    **You will set:** Number field

    Operational lead time before fulfillment.
  </Accordion>

  <Accordion title="Products to ship">
    **You will set:** Product list

    The Shopify products saved to the subscription and shipped on renewal.
  </Accordion>

  <Accordion title="Ship product">
    **You will set:** Shopify product and variant picker

    A product and variant that should ship on renewal.
  </Accordion>

  <Accordion title="Ship quantity">
    **You will set:** Number field

    How many units of the selected product should ship.
  </Accordion>

  <Accordion title="Initial discount">
    **You will set:** Discount type and value

    Optional first-order discount for the subscription mapping.
  </Accordion>

  <Accordion title="Pre-billing email">
    **You will set:** Provider selector

    Whether Paysight or a custom webhook should send a reminder before rebilling.
  </Accordion>

  <Accordion title="Email lead days">
    **You will set:** Number field

    How many days before billing the reminder should be sent.
  </Accordion>

  <Accordion title="From email">
    **You will set:** Email field

    Sender email for Paysight-sent pre-billing emails.
  </Accordion>

  <Accordion title="Subject">
    **You will set:** Text field

    Subject line for the pre-billing email.
  </Accordion>

  <Accordion title="Custom webhook URL">
    **You will set:** URL field

    The webhook destination when the client owns the pre-billing notification flow.
  </Accordion>
</AccordionGroup>

## Examples

<Tabs>
  <Tab title="Single-product renewal">
    Map the checkout starter kit as the trigger, select the subscription, then add the replenishment product to Products to ship.
  </Tab>

  <Tab title="Pre-billing reminder">
    Choose Paysight email, set lead days, from email, and subject.
  </Tab>

  <Tab title="Custom notification flow">
    Choose custom webhook when the client manages pre-billing messages outside Paysight.
  </Tab>
</Tabs>

## Before saving

* Verify subscription IDs with the subscription setup.
* Confirm every product and variant is synced from Shopify.
* Test a purchase and inspect downstream fulfillment data.

## Related modules

<CardGroup cols={2}>
  <Card title="Checkout Subscription" icon="arrow-right" href="/guides/shopify-store-editor/checkout-subscription">
    Control subscription checkout mode, terms, display, and customer copy.
  </Card>

  <Card title="Store Operations" icon="arrow-right" href="/guides/shopify-store-editor/store-operations">
    Control Shopify order sync and batching behavior.
  </Card>
</CardGroup>
