This document will cover how to connect RSR as a source and what integrations we support with RSR.
How To Connect
-
API URL: choose Production →
https://www.rsrgroup.com/
- Username: your RSR website username
- Password: your RSR website password
- Re-enter username/password (case-sensitive).
- Confirm the API URL is set to Production.
- Ensure your RSR account is dealer-enabled with website access.
- Use a template or start fresh.
- Map SKU, Quantity, Price, Title, and Description.
- Apply transforms (e.g., price markup rules, quantity buffers) if needed.
Product Operations
The primary operation handles the bulk of your inventory management needs, while the secondary operation allows for more detailed control, such as focusing on specific products or updates.
Get Inventory (Primary)
RSR – Get Inventory [Primary] imports your RSR catalog into Flxpoint. You’ll (1) connect RSR, (2) choose a few settings, and (3) select a mapping template. When a step is finished, you’ll see a check mark next to it.
- 1Connect RSR: Select RSR and click Save and Proceed.
-
2Choose Settings:
- Use Enhanced Description — import enhanced product descriptions from the RSR FTP feed.
-
Archive/Un-Archive Inventory — items not present in the latest feed are archived (qty set to 0). If they return later, they are automatically un-archived.
Tip: Turn this on in either Primary or Secondary (not both).
- 3Select a Mapping Template: Choose RSR Get Source Product 1 and click Save and Complete.
- Three steps on the page: Connect an Integration, Configure Settings, Define a Mapping Template.
- Each completed step shows a check mark.
Template | Use Case | What it Covers | Availability |
---|---|---|---|
RSR Get Source Product 1 | Get Inventory (Primary) | Client pricing as Cost (USD), Quantity, two-level Categories, Weight/Dimensions (inches & pounds), identifiers, brand, title, description. | Available |
This is a friendly overview of how common RSR fields flow into Flxpoint.
RSR Field | Flxpoint Field | Type | Required? | Notes for You |
---|---|---|---|---|
SKU / Item Number | Product → SKU | Text | Yes | Primary product identifier. |
Title / Name | Product → Title | Text | Yes | Readable product name. |
Description (Enhanced) | Product → Description | Text | No | Turn on Use Enhanced Description to bring richer text. |
Dealer Price | Pricing → Cost | Number | Yes | Saved as Cost. Currency is USD. |
Quantity | Inventory → Quantity | Number | Yes | Current stock level. |
Weight | Shipping → Weight (lb) | Number | No | Provided in pounds. |
Dimensions (L/W/H) | Shipping → Dimensions (in) | Number | No | Provided in inches. |
Category Level 1 | Categories → Level 1 | Text | No | Top-level category (two levels available). |
Category Level 2 | Categories → Level 2 | Text | No | Sub-category. |
UPC / GTIN | Identifiers → UPC | Text | No | Use when provided. |
MPN | Identifiers → MPN | Text | No | Manufacturer part number. |
Brand / Manufacturer | Attributes → Brand | Text | No | — |
Images | — | — | — | Handled by Get Inventory Images (see FAQs). |
Rule | Type | Input | When it Helps | What it Does |
---|---|---|---|---|
Set to true based on Main Category | Conditional | Boolean | Flagging items by category |
Turns a target flag to true when the category matches your condition.
|
Convert ounce to pound | Conditional | Number | Normalizing weight inputs | Converts ounces to pounds wherever needed. |
Set to true based on Main Category | Conditional | String | Adding category-based labels | Sets a string output based on the category condition you choose. |
Note: After creation, the rule’s type and input can’t be changed.
Utility | Availability | How You Might Use It |
---|---|---|
Mapping Sets | Optional — available | Combine or format multiple inputs into a single output field. |
Lists | Optional — available | Maintain reusable value lists (e.g., approved brands or categories). |
Builders | Optional — available | Create a custom product/output structure if your channel needs it. |
- RSR is connected and saved on Step 1.
- Turn on Use Enhanced Description if you want richer copy.
- For automatic cleanup of old items, enable Archive/Un-Archive in Primary or Secondary (one place only).
- Confirm a mapping template is selected (e.g., RSR Get Source Product 1).
- Test first, then enable any schedules or live workflows.
Images are downloaded from these FTP folders by the Images integration:
-
/ftp_images/rsr_number/
-
/ftp_highres_images/rsr_number/
-
/ftp_images/new_images/
-
/ftp_highres_images/new_images/
Feature | Availability | What to Expect |
---|---|---|
Client Pricing (& Currency) | Available | Dealer-specific price is saved as Cost (USD). |
Quantity | Available | Imports current stock levels. |
Weights & Dimensions | Available | Dimensions in inches; weight in pounds. |
Categories | Available | Two levels you can map. |
Archive Support | Available | Automatically archive/un-archive based on the feed. |
Images (in GIP) | Not included | Use the Images integration for downloads. |
Custom Fields | Not included | Attributes are saved at the parent level. |
Variations / Options | Not included | — |
Generic Pricing | Not included | — |
Multiple Warehouses | Not included | — |
Feed Type | Full feed | The entire catalog is provided each run. |
Get Inventory (Secondary)
RSR – Get Inventory [Secondary] is a companion import to Primary. It’s ideal for refreshing stock and pricing, or for bringing in a streamlined set of RSR fields (SKU, inventory, MAP/MSRP, cost). You’ll (1) connect RSR, (2) pick one simple setting, and (3) select a mapping template.
- 1Connect RSR: Choose your existing RSR API connection (or create a new one) → click Save and Proceed.
-
2Configure Settings:
- Allow Create Variant — optional. Turn on if you want the Secondary import to create variants while it runs.
- 3Select a Mapping Template: Choose RSR – Get Inventory [Secondary] 2 → click Save and Complete.
- Three steps: Connect an Integration → Configure Settings → Define a Mapping Template.
- A check mark appears next to each step after you finish it.
Template | Use Case | What it Covers | Availability |
---|---|---|---|
RSR – Get Inventory [Secondary] 2 | Get Inventory (Secondary) | SKU, Quantity, Cost (Dealer Price), MAP, MSRP. Use with the simple “Allow Create Variant” setting if needed. | Available |
These mappings mirror what you see in the Mapping Templates view.
RSR Field | Flxpoint Field | Type | Required? | Notes for You |
---|---|---|---|---|
SKU | Inventory Variant → SKU | Text | Yes | Primary identifier. |
Dealer Price | Pricing → Cost | Number | Yes | Dealer price saved as Cost (USD). |
Retail MAP | Pricing → MAP | Number | No | Minimum Advertised Price. |
MSRP | Pricing → MSRP | Number | No | Manufacturer’s suggested price. |
Inventory On Hand | Inventory → Quantity | Number | Yes | Current available units. |
Example Rule | Type | Input | When it Helps | What it Does |
---|---|---|---|---|
Tag clearance items by category or price | Conditional | String/Number | Marking products for store collections | Sets a label or flag when your condition matches (e.g., MAP < MSRP by 20%). |
Normalize cost values | Conditional | Number | Pricing cleanup | Rounds or converts inputs to your preferred format. |
Append variant detail to title | Conditional | String | Helpful when using “Allow Create Variant” | Builds a variant label (e.g., adds color/size text) during import. |
Note: After creation, a rule’s type and input can’t be changed.
Utility | Availability | How You Might Use It |
---|---|---|
Mapping Sets | Optional — available | Combine or format multiple inputs into a single output (e.g., build a composite title). |
Lists | Optional — available | Reusable value lists for conditions (e.g., approved brands or restricted categories). |
Product Builders | Available (default provided) | A default builder is present and matches on Master SKU. Create a new one if your channel needs a custom structure. |
- RSR API connection is selected and saved in Step 1.
- Decide whether to enable Allow Create Variant (helpful if variants should be created during import).
- Confirm the template RSR – Get Inventory [Secondary] 2 is selected in Step 3.
- Test first, then enable schedules or live workflows as needed.
- Primary is your fuller import (rich fields, categories, dimensions, etc.).
- Secondary focuses on quick inventory and price updates (SKU, qty, MAP, MSRP, cost).
- Images: not part of Secondary. Use the Get Inventory Images integration for image downloads.
- Archive behavior: If you use automatic archiving, keep it in one place (commonly Primary) to avoid conflicts.
Can I create variants during Secondary?
Yes. Toggle Allow Create Variant in Configure Settings.
What fields are updated?
SKU, Quantity (Inventory On Hand), Cost (Dealer Price), MAP, and MSRP.
Do I need Mapping Sets/Lists?
They’re optional tools you can add any time to format values or drive conditions.
Feature | Availability | What to Expect |
---|---|---|
Client Pricing (& Currency) | Available | Dealer-specific price is saved as Cost (USD). |
Quantity | Available | Imports current stock levels (Inventory On Hand). |
MAP / MSRP | Available | MAP and MSRP values are included in the template. |
Weights & Dimensions | Not included in Secondary | Handled in Primary template (inches & pounds). |
Categories | Not included in Secondary | Two levels available via Primary template. |
Images (in GIS) | Not included | Use the separate Get Inventory Images integration to download images. |
Custom Fields | Not included | Attributes are saved at the parent level. |
Variations / Options | Optional | Enable Allow Create Variant if you want Secondary to create variants while it runs. |
Multiple Warehouses | Not included | — |
Feed Type | Full feed | The catalog slice covered by Secondary is provided each run. |
Archive Support | Supported (recommend manage in one place) | Commonly managed via Primary to avoid conflicts. |
-
/ftp_images/rsr_number/
-
/ftp_highres_images/rsr_number/
-
/ftp_images/new_images/
-
/ftp_highres_images/new_images/
Order Operations
It submits orders to vendors for fulfillment and subsequently imports the shipment details, ensuring a seamless integration between order processing and shipment tracking.
Send Fulfillment Requests
Send Fulfillment Requests places orders to RSR via their Direct Connect API using your selected Mapping Template. You’ll (1) connect RSR, (2) set a few order options (email, fill-or-kill, holds), and (3) pick a mapping template to format the request and line items.
- 1Connect RSR: Select the existing RSR API connection → Save and Proceed.
-
2Configure Settings:
- Email (required): Dealer email.
-
Fill or Kill (optional):
Y
= cancel if not fully fillable. - Advanced → Hold for X hours: Pause sending for X hours.
- Send During Business Hours: Only transmit during business hours.
- 3Select a Mapping Template: Choose Send Purchase Orders 2 → Save and Complete.
Template | Use Case | What it Sends | Availability |
---|---|---|---|
Send Purchase Orders 2 | Place order (Send FR) to RSR | Order header + lines (FR#/PO, Email, Fill/Kill, optional Hold, End Consumer, Store Name, SKUs/qty) | Available |
Overview
Flxpoint creates the RSR place-order request using your Send FR Mapping Template.
RSR requires End Consumer and Store Name as separate fields.
Field mapping (required/recommended)
- End Consumer Name → from Shipping First + Last.
- Store Name (new) → map from Sales Channel → Store Name, Order → Company/Organization, or a static value.
- Fallback: If Store Name isn’t mapped, we derive it from shipping name (legacy behavior).
- Validation: Each name part must be ≥ 2 characters; otherwise the request is blocked.
From (Source) | To (RSR / Request) | Type | Required? | Notes |
---|---|---|---|---|
Fulfillment Request Number | PO / Reference | Text | Yes | Mappable (FR#/PO#). |
Shipping First/Last Name | End Consumer | Text | Yes | ≥ 2 chars per part. |
Sales Channel Store Name / Company / Static | Store Name | Text | Recommended | Business/store identity. |
Dealer Email (setting) | Text | Yes | Configured in Step 2. | |
Fill or Kill | FillOrKill | Option | No |
Y = all or cancel.
|
Hold for X Hours | Hold | Number | No | Delay sending. |
Order Items → SKU | Line SKU | Text | Yes | Sent to RSR. |
Order Items → Quantity | Line Qty | Number | Yes | Units requested. |
Rule Name | Type | Input | Status | What it Does |
---|---|---|---|---|
If FFL required, billing Name | Conditional | String | Configured | Sets billing name when FFL is required. |
If FFL required, set billing phone | Conditional | String | Configured | Sets billing phone when FFL is required. |
Note: After creation, a rule’s type and input can’t be changed.
Utility | Availability | How You Might Use It |
---|---|---|
Mapping Sets | Optional — None created yet | Compose custom references/notes. |
Lists | Optional — None created yet | Allow/deny lists for rule conditions. |
Product Builders | Available (default) | Default builder matches on Master SKU. |
Carrier | Method | Supplier Shipping Code | Supplier Shipping Carrier Name |
---|---|---|---|
FedEx | FedEx 2 Day | 2Day | 2 Day |
FedEx | FedEx 3 Day | 3Day | 3 Day |
FedEx | FedEx Next Day Air | NDAS | FedEx Next Day Air Saver |
FedEx | Ground | Grnd | FedEx Ground |
FedEx | Standard Overnight | 1Day | FedEx Standard Overnight |
UPS | 2nd Day Air AM (2DM) | 2Day | 2nd Day Air AM (2DM) |
UPS | 3 Day Select to the United States (3DS) | 3Day | 3 Day Select to the United States (3DS) |
UPS | Ground | Grnd | UPS Ground |
UPS | Next Day Air (1DA) | 1Day | Next Day Air (1DA) |
UPS | Next Day Air Early AM (1DM) | NDam | Next Day Early AM |
UPS | Next Day Air Saver (1DP) | NDAS | Next Day Air Saver |
USPS | Priority | PRIO | Priority |
Example 1 — Always request UPS Ground
In your custom Send FR template, map Shipping Method → static value Grnd
.
Example 2 — Choose by order weight
Add a Conditional Rule:
-
If Total Weight < 1 lb → set Shipping Method =
PRIO
(USPS Priority). -
Else → set Shipping Method =
Grnd
.
If your RSR setup does not accept a shipping method, leave this unmapped—RSR will select the best option.
- RSR API connection selected in Step 1.
- Email set; Fill or Kill and Hold reviewed.
- Template Send Purchase Orders 2 selected in Step 3.
- Store Name mapped to a reliable business identity field.
-
Name length: Each part of End Consumer and Store Name must be ≥ 2 characters. Sample messages:
RSR validation: Store Name is invalid (each name part must be >= 2 characters).
RSR validation: End Consumer name is invalid (each name part must be >= 2 characters). - “Duplicate Order”: A unique PO can be submitted once per year. Change PO/FR number and retry.
- Error 86: “No items could be added to the order.” Ammunition requires a street address (forces FedEx Ground).
Capability | Status | Notes |
---|---|---|
Fulfillment Request Number | Supported | Mappable (FR#/PO#). |
Customer Association | Not Supported | Not used in this request. |
FR Item Association | Supported | Line SKU is sent. |
Auto Acknowledgements | Supported |
Receive WebRef on success.
|
Shipping Selection | Not Supported | RSR auto-selects shipping for standard FRs. |
Custom Fields | Not Supported | Custom fields aren’t available. |
Attachments | Not Supported | Files aren’t sent. |
Limitations | — | Street addresses for ammunition; unique PO per year. |
- Check 1 – “Store Name” mapped? If not, fallback may cause RSR to flag it.
- Check 2 – Name length Ensure each name part ≥ 2 characters.
- Check 3 – Name placement End Consumer = Shipping name; Store Name = business identity.
Get Shipments
RSR – Get Shipments pulls shipment confirmations for your RSR orders. You’ll (1) connect RSR, (2) set how many days back to fetch, and (3) select the mapping template. RSR supports partial shipments; tracking numbers are returned. Carrier/method details are not included by RSR.
- 1Connect RSR: Choose your existing RSR API connection (or create a new one) → click Save and Proceed.
-
2Configure Settings:
- Fetch Shipments Within Last X Days — required. Typical value: 7.
- 3Select a Mapping Template: Choose RSR Get Shipments 2 → click Save and Complete.
- Three steps: Connect an Integration → Configure Settings → Define a Mapping Template.
- A check mark appears next to each step after you finish it.
Template | Use Case | What it Covers | Availability |
---|---|---|---|
RSR Get Shipments 2 | Shipment confirmations from RSR | Shipped At date, Tracking Number, Item SKU, Item Quantity (ASNQty). No carrier/method labels in response. | Available |
These mappings mirror the Mapping Templates view.
RSR Field | Flxpoint Shipment Field | Level | Type | Required? | Notes |
---|---|---|---|---|---|
DateShipped | Shipment → Shipped At | Header | Date/Time | No | When RSR marks the shipment as shipped. |
TrackingNum | Shipment → Tracking Number | Header | Text | Yes | Tracking URL is not returned by RSR. |
PartNum | Shipment Item → SKU | Item | Text | Yes | Associates the shipped line to your catalog. |
ASNQty | Shipment Item → Quantity | Item | Number | Yes | Quantity shipped for the line item. |
Example Rule | Type | Input | When it Helps | What it Does |
---|---|---|---|---|
Normalize Tracking Number | Conditional | String | Clean/trim values before export to channels | Removes spaces, uppercases, or validates length. |
Fallback ship date | Conditional | Date | Missing or null DateShipped | Sets today’s date if RSR omits ship date. |
Utility | Availability | How You Might Use It |
---|---|---|
Mapping Sets | Optional — available | Assemble or format values (e.g., build a combined note). |
Lists | Optional — available | Reference lists for conditional rules (e.g., carriers that need special handling on your channel). |
Product Builders | Available (default provided) | Not commonly needed for shipments; default builder is fine. |
- RSR API connection is selected and saved in Step 1.
- Fetch Shipments Within Last X Days has a value (e.g., 7).
- Template RSR Get Shipments 2 is selected in Step 3.
- Remember: RSR doesn’t send carrier/method labels—only the tracking number.
Capability | Status | Notes |
---|---|---|
Carrier & Methods | Not Supported | RSR returns tracking number only (no carrier/method labels). |
Shipment Item Association | Supported | SKU (PartNum) is returned on items. |
Partial Shipments | Supported | Orders can arrive in multiple shipments from RSR. |
Invoice Information | Not Supported | Invoices are not included in the shipment response. |
Custom Fields (CFs) | Not Supported | Only standard shipment fields are provided by RSR. |
Limitation | — | Tracking URL is not provided by RSR. |
Why don’t I see carrier or method?
RSR’s response includes a tracking number but no carrier/method labels.
Will partial shipments import?
Yes. Each RSR shipment will attach to the original order with its own items and quantities.
How far back should I fetch?
Most teams use 7–14 days. Increase if you expect late confirmations.
Troubleshooting Flashcards
RSR – Common Issues & Fast Fixes
“Duplicate Order” error
Place OrderA unique PO/FR can only be sent once per 12 months.
- API rejects as duplicate.
- Happens when re-sending with the same number.
Fix
- Change the PO/FR number and resend.
- Make your template generate unique order refs (date + sequence works well).
Error 86: “No items added”
AddressAmmo can’t ship to PO Boxes.
- RSR declines the order with Error 86.
Fix
- Use a physical street address.
- FedEx Ground is enforced by RSR for ammo.
- Verify address lines & type.
“Store Name” validation fails
MappingRSR requires both Store Name and End Consumer (different fields).
- Common when Store Name is unmapped or too short.
Fix
- Map Store Name in the Send FR template.
- Use Sales Channel Store Name, Company, or a static value.
- Each name part must be ≥ 2 chars.
- End Consumer still comes from Shipping First/Last Name.
Carrier picked but ships “Best Way”
Shipping CodeRSR expects supplier shipping codes.
- If unmapped, RSR may select Best Way.
Common mappings
Carrier/Method | RSR Code |
---|---|
FedEx 2 Day / 3 Day | 2Day / 3Day |
FedEx Next Day Air / Ground | NDAS / Grnd |
UPS 2nd Day AM / 3 Day | 2Day / 3Day |
UPS Ground / 1 Day | Grnd / 1Day |
UPS NDA Early / Saver | NDam / NDAS |
USPS Priority | PRIO |
Fill or Kill / Hold X Hours
Order TimingSubmissions delayed or cancelled.
- Settings live in the Send FR step.
Tips
- Fill or Kill: Y cancels if not fully fillable; blank allows partials.
- Hold X Hours: Use for review; reduce/clear if orders aren’t going out.
- Send During Business Hours: Enable only if required.
Inventory zeros / archiving
InventoryArchiving enabled in both imports.
- Primary vs Secondary conflict.
Fix
- Enable archiving in one place only (commonly Primary).
- Use Secondary for quick qty/price refreshes.
- Images come from Get Inventory Images.
Images not showing
AssetsImages are fetched via Get Inventory Images.
- FTP locations must exist.
Verify FTP paths
- /ftp_images/rsr_number/
- /ftp_highres_images/rsr_number/
- /ftp_images/new_images/
- /ftp_highres_images/new_images/
If only in DB (not on FTP), that slot shows empty.
Shipments missing
Get ShipmentsRecent orders lack tracking updates.
- Window too small or expectations mismatch.
Fix
- Increase “Fetch shipments within last X days” (e.g., 7 → 14).
- RSR returns tracking number only; carrier/method not supported.
- Partial shipments are supported.
MAP/MSRP or Cost not updating
PricingField mapping mismatch.
- Secondary is great for quick refreshes.
Fix
- Dealer Price → Cost (USD)
- Retail MAP → MAP
- MSRP → MSRP
No acknowledgement (WebRef)
Auto-AckOrder appears sent but no WebRef is visible.
- Usually transient or mapping related.
Fix
- Confirm the Send FR run completed successfully.
- Retry if the API returned a temporary error.