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

# Shipping and Fulfillment Setup

> Use these settings to control Shippo rate shopping, carrier defaults, freight routing, PackPilot suggestions, warehouse scanners, and direct printing for labels and warehouse documents.

## Open the Shipping and Fulfillment Settings

1. Open **Settings**.
2. Choose **Entity Settings**.
3. Open the **Shipping and Fulfillment** group for Shipping, Shipping Rules, Packing Configuration, and Scanners.
4. Open the **System** group for Printing.

<Note>
  **Settings are connected**
  Shipping rules, packing settings, scanners, and printing all meet inside the fulfillment
  workflow. A label issue may start in Shippo setup, a packing issue may start with product
  dimensions, and a print issue may start in PrintNode preferences.
</Note>

## Shipping Settings

The **Shipping** section controls the default carrier behavior Arcus uses
when a user packs an order or buys a label. It also checks whether the Shippo connector
is active for the current entity.

<Frame caption={"Shipping settings combine Shippo connection health, fallback carrier defaults, package thresholds, and rate automation."}>
  <img src="https://mintcdn.com/arcuserp/ATYxy7SB_HGOBGqh/images/support/screenshots/settings/shipping-settings-overview.png?fit=max&auto=format&n=ATYxy7SB_HGOBGqh&q=85&s=755ee19b0fbe1b3d458b8118608e1954" alt="Shipping settings page with Shippo connection status, carrier defaults, package defaults, and rate automation controls" width="1680" height="1060" data-path="images/support/screenshots/settings/shipping-settings-overview.png" />
</Frame>

* **Shippo Connection**: shows whether the entity has an active Shippo connector and lets admins test the connection.
* **Default Carrier and Service**: used when no shipping rule matches the package.
* **Label Format**: choose PDF, PNG, or ZPL for thermal printer workflows.
* **Default Package Type**: preselects common package types when package data is incomplete.
* **Signature and insurance thresholds**: tell the packing workflow when higher-value shipments need extra services.
* **Residential surcharge handling**: pass through, absorb, or add a flat fee when a residential label is purchased.

<Warning>
  **Defaults are a fallback, not the whole shipping policy**
  Shipping rules are evaluated before the default carrier and service are used. Keep
  defaults sensible, but use rules for channel, weight, location, category, freight, and
  preferred-service logic.
</Warning>

## Rate Automation

Rate automation controls how much Arcus does automatically after packages are created.
Use the most automated settings only after the team has tested package dimensions,
addresses, label format, and printer routing.

* **Auto-fetch rates when package is created**: asks Shippo for rates as soon as a package exists.
* **Auto-select cheapest rate**: chooses the lowest-cost available rate instead of asking the user to choose.
* **Auto-fetch rates on pack**: runs rate shopping after PackPilot creates package cards.
* **Auto-buy label on pack**: buys the label after rates are fetched, using preferred rule settings first and the cheapest rate as fallback.
* **When no rates are available**: show a warning or use the flat rate from shipping rules.

<Tip>
  **Turn automation on in stages**
  Start with auto-fetch. Watch a few real packing sessions. Then decide whether auto-select
  or auto-buy is safe for the orders your team ships most often.
</Tip>

## Shipping Rules

The **Shipping Rules** section controls carrier routing. Rules can match by
location, weight, order value, sales channel, product category, and carrier service token.
Lower priority numbers are evaluated first.

<Frame caption={"Shipping rules can be scoped to all locations or one warehouse, then narrowed by weight, value, sales channel, category, and allowed carrier services."}>
  <img src="https://mintcdn.com/arcuserp/ATYxy7SB_HGOBGqh/images/support/screenshots/settings/shipping-rules-modal.png?fit=max&auto=format&n=ATYxy7SB_HGOBGqh&q=85&s=e80978053525cb114c7e5dd38cffc445" alt="Add Shipping Rule modal showing location scope, weight ranges, sales channel, product category, carrier tokens, preferred carrier, flat rate, and priority fields" width="1380" height="1040" data-path="images/support/screenshots/settings/shipping-rules-modal.png" />
</Frame>

* **Apply to**: choose all locations or a specific warehouse. Location-specific rules are evaluated before entity-wide rules.
* **Weight and order value**: use ranges to separate small parcel, heavy parcel, and large-order behavior.
* **Sales channel**: route Shopify, marketplace, phone, counter, or other channel orders differently.
* **Product category**: apply special shipping policy to categories that require different carriers or service levels.
* **Carrier tokens**: limit which Shippo service tokens are allowed for the rule.
* **Preferred carrier and service**: guides auto-label purchasing when automation is enabled.
* **Free shipping and flat rate**: controls what the customer is charged. It does not change the carrier cost Arcus pays.

<Note>
  **Flat rate and carrier cost are different numbers**
  A shipping rule can charge the customer a flat amount or free shipping while Arcus still
  buys the actual carrier label through Shippo. Review margin when free shipping is used.
</Note>

## Freight Classification Rules

The bottom of Shipping Rules includes freight classification rules. These rules decide
whether an order should stay parcel, move to LTL freight, suggest freight review, add
accessorials, or block the order.

* Freight rules are also priority-based. The first matching rule can change the shipping mode.
* Rules can look at weight, dimensions, product freight flags, customer preferences, and similar freight signals.
* If Shippo freight rate shopping is unavailable for the account, users can still enter freight quotes manually.
* Manual freight overrides are respected until a user removes or changes the override.

<Warning>
  **Freight affects tax, documents, and fulfillment**
  Freight orders need freight packages, freight class or NMFC data when required, BOL handling,
  and different customer communication. Test freight rules with a known order before relying
  on them for production routing.
</Warning>

## Packing Configuration

**Packing Configuration** controls PackPilot behavior and packing algorithm
scoring. It also includes packing presets used by the algorithm to decide which carton
layout is best.

<Frame caption={"Packing Configuration controls PackPilot suggestions, scoring weights, DIM divisor behavior, and saved packing presets."}>
  <img src="https://mintcdn.com/arcuserp/ATYxy7SB_HGOBGqh/images/support/screenshots/settings/packing-configuration.png?fit=max&auto=format&n=ATYxy7SB_HGOBGqh&q=85&s=ba3d745a983b77a73d2c0affb010d116" alt="Packing Configuration page with PackPilot auto-suggest, blind cycle count mode, scoring parameters, and packing presets" width="1680" height="1060" data-path="images/support/screenshots/settings/packing-configuration.png" />
</Frame>

* **Auto-suggest PackPilot cartons**: creates suggested packages when an order reaches ready-to-pack. Packers can accept or discard the suggestion.
* **Default new cycle counts to Blind mode**: sets the default counting mode for new cycle counts. It affects inventory counting, not label buying.
* **Base per box and per pound**: influence the algorithm's cost score when comparing carton layouts.
* **Oversize penalty and limit**: discourage packages with dimensions above the configured limit.
* **DIM weight factor**: controls dimensional-weight scoring. Carrier rates may still apply their own divisor through Shippo.
* **Epsilon**: tolerance used in floating-point comparisons when evaluating fits.
* **Packing presets**: saved parameter sets that can be created, edited, tested, and marked default.

<Tip>
  **Good packing depends on product setup**
  PackPilot needs accurate product dimensions, weights, box products, packing categories,
  and allowed mixing categories. If suggestions look wrong, review product fulfillment
  data before changing scoring parameters.
</Tip>

## Scanners

The **Scanners** section manages Zebra and Arcus Command devices. Devices
register automatically after a warehouse user connects the app to the entity and signs in
with their PIN.

<Frame caption={"Scanners includes device setup, online/offline status, sync control, user/location assignment, and recent scan history."}>
  <img src="https://mintcdn.com/arcuserp/ATYxy7SB_HGOBGqh/images/support/screenshots/settings/scanners-setup-log.png?fit=max&auto=format&n=ATYxy7SB_HGOBGqh&q=85&s=3847f222cd286332905a47d63b34e39b" alt="Scanners settings page with new device setup, registered device status, and recent scan log controls" width="1680" height="1060" data-path="images/support/screenshots/settings/scanners-setup-log.png" />
</Frame>

* **New Device Setup**: shows the entity setup code and QR code for Arcus Command.
* **Registered Devices**: shows each scanner, assigned user, assigned location, last seen time, and sync status.
* **Sync toggle**: turns scanner sync on or off without deleting the device assignment.
* **Device details**: shows the scanner ID and DataWedge configuration when setup troubleshooting is needed.
* **Recent Scans**: filters by date, device, type, and barcode text.

<Warning>
  **Do not add a DataWedge prefix**
  Arcus Command adds the entity and scanner identifiers automatically. A manual DataWedge
  prefix can double-prefix barcode data and break scan processing.
</Warning>

## How Barcode Scans Are Classified

The backend is the source of truth for scan type. The frontend receives the classification
and reacts to it. This keeps scanners consistent across packing, serial capture, and logs.

* **Serial**: package-scoped serial format or a matching serial number.
* **Label**: tracking number or shipment label match.
* **Box**: product barcode that belongs to a box product.
* **Item**: product barcode for a non-box product.
* **Order**: order number match.
* **Unknown**: no match found. The scan still lands in the log for review.

## Printing

The **Printing** page sets per-user PrintNode preferences for the current
entity. It uses the entity's PrintNode connector, then lets each user choose default
printers and auto-print behavior.

<Frame caption={"Printing preferences decide which printers receive labels and documents and whether fulfillments auto-print for this user."}>
  <img src="https://mintcdn.com/arcuserp/ATYxy7SB_HGOBGqh/images/support/screenshots/settings/printing-preferences.png?fit=max&auto=format&n=ATYxy7SB_HGOBGqh&q=85&s=6a31d80ca659b2928090757ca2082cc5" alt="Printing settings page with PrintNode connection state, default label printer, default document printer, and auto-print on fulfill" width="1680" height="620" data-path="images/support/screenshots/settings/printing-preferences.png" />
</Frame>

* **PrintNode connection**: depends on the PrintNode connector in Integrations.
* **Default label printer**: used for shipping labels, usually a thermal 4x6 label printer.
* **Default document printer**: used for packing slips, invoices, pick lists, and letter-size documents.
* **Auto-print on fulfill**: sends label and packing slip jobs automatically when a package is fulfilled.
* **Printer category filters**: limit fulfillment station package visibility by product packing category when a filtered printer is selected.
* **Recent Print Jobs**: shows submitted, failed, queued, and offline-blocked jobs with filters.

<Note>
  **Printing preferences are per user**
  Two users can choose different default printers in the same entity. This is useful when
  each packing station has its own label printer.
</Note>

## Recommended Setup Order

1. Configure locations first, including the ship-from address.
2. Connect Shippo and test the connection.
3. Set label format and default carrier fallback.
4. Add shipping rules for common parcel lanes.
5. Add freight rules for orders that should not ship parcel.
6. Review product dimensions, weights, box products, and packing categories.
7. Configure PackPilot suggestions and packing presets.
8. Connect PrintNode, install the PrintNode client, and select user printer preferences.
9. Register warehouse scanners through Arcus Command and verify recent scan logs.
10. Run a test order through pick, pack, rate, label, print, and fulfill.

## Common Blocks

* **No rates returned**: check Shippo connection, ship-from address, ship-to address, package dimensions, weight, and allowed carrier tokens.
* **Wrong carrier selected**: review rule priority, preferred carrier, preferred service token, and auto-select settings.
* **Flat rate charged but carrier cost differs**: this is expected. Flat rate is customer charge policy, not carrier cost.
* **Auto-buy did not run**: check auto-fetch on pack, auto-buy on pack, rule preference, Shippo connection, address validation, and label format.
* **PackPilot suggestions are missing**: check the auto-suggest toggle, product dimensions, stock, serial requirements, freight mode, bins, and Audit Log.
* **Scanner is offline**: confirm the Arcus Command app is open, sync is on, the device has network access, and the user is signed in with PIN.
* **Barcode scans as unknown**: verify the barcode belongs to an order, product, serial number, box product, label, or supported package-scoped serial format.
* **Print jobs do not print**: check PrintNode connector, PrintNode client status, printer online state, user printer preferences, and recent print job errors.
* **Printer only shows some packages**: review printer category filters. A filtered printer only shows packages containing matching product categories.

## Related Articles

<CardGroup cols={2}>
  <Card title="Fulfillment Station" href="/support/fulfillment/station">
    Operate the station view for picking, packing, and shipping.
  </Card>

  <Card title="Pack with Arcus" href="/support/fulfillment/packing">
    Use package cards, suggested boxes, and serial capture.
  </Card>

  <Card title="Shipping Labels" href="/support/fulfillment/labels">
    Buy labels, void labels, track shipments, and handle carrier errors.
  </Card>

  <Card title="Printing Setup (PrintNode)" href="/support/fulfillment/printnode">
    Connect printers for labels, packing slips, and warehouse documents.
  </Card>

  <Card title="Order Fulfillment" href="/support/orders/fulfillment">
    Move an order from confirmed to picked, packed, shipped, and invoiced.
  </Card>

  <Card title="Approval Workflows" href="/support/settings/approval-workflows">
    Configure order, PO, vendor bill, and journal entry approvals plus invoice timing, auto-bill, auto-pack, and delivery email automation. Return label policy now lives under Settings, then Shipping and Fulfillment, then Returns.
  </Card>
</CardGroup>
