RSR as a Source

RSR is one of the largest wholesale distributors of firearms, ammunition, optics, and shooting-sports accessories in the United States, serving licensed FFL dealers. As a source in Flxpoint, RSR provides reliable catalog imports, pricing and inventory sync, fulfillment-request submission, and shipment tracking — with built-in fail-safe verification for connection errors so false failures don't leave you guessing whether RSR received your order.  

 

How To Connect

📋 Phase 1: Add the RSR Source +
Open the Sources section
Log into Flxpoint and navigate to Connections > Fulfillment Sources.
Add a new source
Click + Add Source and select RSR from the FLX Supplier Directory. Give the source a descriptive name (e.g., "RSR Production").
Confirm dealer agreement
In the confirmation dialog, check the box acknowledging that you are an active RSR-authorized FFL dealer with portal access. Click Continue.
🔑 Phase 2: Confirm Your RSR Dealer Portal Access +
Sign in to the RSR dealer portal
Open your browser and sign in to the RSR dealer portal with the username and password assigned to your dealer account. Make sure:
  • You can log in successfully without errors.
  • Your account is active and has dealer-portal access.
If you can't log in, reset your password or contact RSR to restore access before continuing in Flxpoint — the Flxpoint connection uses the same credentials.
Keep these credentials handy
The Flxpoint RSR Connection requires:
  • Username — your RSR website / dealer-portal login.
  • Password — your RSR website / dealer-portal password.
Note: A single RSR Connection in Flxpoint is reused by all RSR operations (Get Inventory, Send Orders, Get Shipments). No separate API key or FTP credentials are required.
🔌 Phase 3: Connect RSR to Flxpoint +
Open the New RSR Connection dialog
Inside your RSR source, click + Add Connection. The dialog has three fields: Connection Name, Username, and Password.
Enter a Connection Name
Type a descriptive label (e.g., "RSR — Production") so you can identify the connection later.
Enter your Username and Password
Paste your RSR dealer-portal Username and Password exactly as you use them on rsrgroup.com.
Test the connection
Click Test Connection. A green checkmark confirms Flxpoint can authenticate with RSR. If it fails, sign in to the RSR dealer portal in your browser to confirm the credentials are still valid, and contact RSR if your account access has changed.



 

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 and Pricing & Quantity

Supported | RSR — Get Inventory and Pricing & Quantity

Introduction
Get Inventory and Pricing & Quantity imports RSR catalog data, dealer pricing, MSRP/Retail, and warehouse quantities into your Global Inventory Pool. You can connect via FTP or RSR API Token, and optionally aggregate quantities across selected warehouses.
Note: This job is the catalog and price/qty import. After each run, data is stored in the Global Inventory Pool for mapping to downstream channels.
Purpose of This Job
  • Import the full RSR catalog with core details (brand, title/description, categories, images, weight).
  • Update dealer pricing and MSRP/Retail when available to your account.
  • Keep on-hand quantities current by warehouse; sum when multiple locations are selected.
How It Works
  • 1Choose ConnectionFTP (Basic Auth) or RSR API Token.
  • 2Retrieve Data
    FTP: Reads the latest CSV from your provider’s FTP (you supply folder + file pattern). API: Requests product, price, and qty using Group Code / User ID / Password.
    When API is connected, API price/qty is used; otherwise, FTP is used per your configuration.
  • 3Map Fields — Match incoming columns to your Mapping Template.
  • 4Persist — Values are saved to the Global Inventory Pool and flow to channels after your next push.
RSR Pricing & Missing Cost Note: RSR provides two distinct feeds:
  • Quantity (On-hand) FTPftp.sprich.com | user onhand | pass onhand | file sprfull.ezoh (typically quantity-only).
  • Pricing FTP (Customer-Specific) — Credentials and filename are provided by RSR per customer (name varies, e.g., JPR.x12_832_0724.csv) and include your dealer pricing columns.
If you only connect to the on-hand FTP, costs will import empty. Connect your pricing FTP or switch to the API to bring in cost/MSRP.
Quantity example: Selecting Dallas and Phoenix warehouses with 4 and 7 units results in an available quantity of 11.
Setup Instructions
  • 1Connect an Integration — Choose RSR, then create a connection.
    Connection Type
    • FTP (Basic Auth)
      Fields: Connection Name, FTP Host/Port, FTP User, FTP Password.
      Advanced: File Transfer Mode (Binary), Maintain Constant Connection, Use Unbuffered Private Data Channel (FTPS 534 policy only).
      Tip: Use Test Connection to validate credentials and folder visibility.
    • RSR API Token
      Fields: Connection Name, Group Code, User ID, Password.
      Use When: You need dealer pricing and direct price/qty from the API.
  • 2Configure Settings
    • Remote File Name Pattern (FTP) — e.g., *.csv or an exact filename.
    • Inbound Remote File Folder (FTP) — e.g., /incoming/products.
    • File Action — set to Read for this job.
    • Warehouses — choose All or specific locations. Selected warehouses are summed for Available Quantity.
    • Archive/Un-Archive Inventory — Optionally archive SKUs missing from the feed and auto-restore when they reappear.
    Recommendation: Avoid enabling Archive on both this job and any secondary import for the same source.
  • 3Create a Mapping Template — Start with the recommended fields below and adjust as needed.
  • 4Save & Schedule — Run manually or set a schedule (jobs run in UTC).
Pricing Feed Details (SPR)
Feeds You May Receive
  • Quantity (On-hand) FTPftp.sprich.com | user onhand | pass onhand | file sprfull.ezoh.
    This file is typically quantity-only.
  • Pricing FTP (Customer-Specific) — Provided by RSR per customer; filename varies.
    Sample: JPR.x12_832_0724.csv  |  Specs: Price File Header List & Descriptions.xlsx.
Column Mapping (Pricing File)
Flxpoint Target RSR Column Description
Wholesale Cost CI — “Promo Level 1 Dealer Cost” Dealer/contract cost used as item cost.
MSRP AF — “Current Retail Price” Retail/MSRP reference.
Required for costs: Connect your pricing FTP or use the API. If only the on-hand FTP is connected, cost/MSRP will be empty.
When to use API: If RSR indicates your pricing FTP is unavailable or delayed, request API credentials (Group Code, User ID, Password) and switch the connection to API to fetch price & quantity directly.
Recommended Mapping (Inventory + Price)
Field RSR Field Notes
SKU Sku / Catalog Sku Unique identifier.
Title Description 1 (fallback Description 2/3) Readable product name.
Brand Brand Name / Manufacturer Name Normalize as needed.
Quantity Quantity Summed across selected warehouses.
Client Price Dealer Price Account-specific dealer pricing (when present).
Cost CI — “Promo Level 1 Dealer Cost” Map from pricing FTP/API.
MSRP AF — “Current Retail Price” Map from pricing FTP/API.
Category 1 Department Name Top-level category.
Category 2 Class/Subclass Name Second-level category.
Weight Weight Pounds.
UPC Upc Barcode when present.
Attributes Specifications / Marketing Text Map as custom fields.
Images (Image URL fields) Single primary image; extras as custom fields if desired.
Operation Details
Price Source API or FTP API takes precedence when connected.
Currency USD Values imported as provided by RSR.
Rounding NONE Imported raw; apply pricing rules downstream if desired.
Quantity Logic SUM Sum of selected warehouses.
Variations NOT SUPPORTED Simple products only.
Delta vs Full FULL FEED Processes full catalog.
Archive SUPPORTED Missing SKUs archived; re-appear when present.
Custom Fields SUPPORTED Extra attributes saved at variant level.
Troubleshooting
  • Costs are empty:
    • Confirm you have a pricing FTP from RSR (customer-specific credentials) or use the API. The onhand FTP (ftp.sprich.com / onhand/onhand) is typically quantity-only.
    • Verify you’re pulling the correct pricing file (name varies; example JPR.x12_832_0724.csv) and mapping CICost, AFMSRP per “Price File Header List & Descriptions.xlsx”.
    • If RSR confirms the FTP file no longer carries pricing, request API credentials (Group Code, User ID, Password) and switch the connection to API.
  • FTP auth errors: Re-check host/port/user/pass; try Test Connection. For FTPS 534, toggle “Use Unbuffered Private Data Channel.”
  • API credential errors: Confirm Group Code, User ID, Password and endpoint access.
  • Missing qty: Ensure the same warehouse selection is used consistently and that the source returns non-zero Quantity.
  • Items missing post-run: If Archive is enabled, SKUs absent from the feed are archived until they reappear.
Customer Action (when costs missing): Contact SP Richard to request the correct pricing FTP credentials/file or API credentials for pricing access.
 
 

 

Order Operations

It submits orders to vendors for fulfillment and subsequently imports the shipment details, ensuring an integration between order processing and shipment tracking.        
 

Send Orders

Supported | RSR — Send Orders

Introduction
Use Send Orders to transmit customer orders as supplier-ready XML Purchase Orders to RSR over your configured FTP (Basic Auth) connection. The job writes XML files to your Outbound Remote File Folder and flags the order as sent when the upload completes without errors.
Mapping behavior: This job’s Mapping Template uses per-field Enable / Disable. Only fields set to Enable are written into the XML.
Purpose of This Job
  • Create one supplier-ready XML order per eligible Fulfillment Request.
  • Deliver the XML to RSR via FTP using your outbound folder path.
  • Control timing with Hold for X hours and Only Send During Business Hours.
How the Job Works
  • 1Build XML — The job assembles an order XML using your Mapping Template (header + lines).
  • 2Upload — The file is posted to your configured Outbound Remote File Folder on RSR’s FTP.
  • 3Mark Sent — If the upload returns no error, the order is marked as sent/processed.
Example: FR #PO-78431 → XML to /outbound/orders/. No upload errors ⇒ marked sent.
Setup Instructions
  • 1Connect an Integration — Choose RSR and select your FTP (Basic Auth) connection.
  • 2Configure Settings
    • Outbound Remote File Folder * — Remote path where order XML files will be written.
    • Ship To Account Number * — Required header value used by RSR to route the shipment.
    • Advanced
      • Hold for X hours — Delay sending for X hours to allow review or edits.
      • Only Send During Business Hours — Restrict transmissions to business hours.
  • 3Select a Mapping Template — Pick an existing template (e.g., Send Orders 1) or create a new one.
  • 4Save & Schedule — Run now or schedule (jobs run in UTC).
Automation & Schedule

Enable scheduling so orders go out automatically. The status page will show Connected, Configured, and Mapped (e.g., template Send Orders 1). Schedules run in UTC.

Mapping Template (Enable / Disable)
Header Fields
Field Purpose Status
CustomerPONo Unique order/FR number sent to RSR. Enable
ShipToAccount Ship-to account number associated with your RSR account. Enable
ShipToName Customer name shown on the shipping label. Enable / Disable
ShipToAddress1, Address2, City, State, PostalCode, Country Destination address details. Enable / Disable
Email, Phone Buyer contact info for carrier notifications (if supported). Enable / Disable
ParcelZone / Carrier fields Pass a requested shipping method/carrier code to supplier. Enable / Disable
Notes / Reference Free-text notes or internal reference for the supplier. Enable / Disable
Line Item Fields
Field Purpose Status
SKU Supplier-recognized SKU for the item. Enable
Quantity Units to fulfill for this SKU. Enable
UnitPrice Dealer price per unit (if required by supplier). Enable / Disable
LineNotes Optional notes per line. Enable / Disable
Practice: Toggle a required field:
Guidance: Keep CustomerPONo, ShipToAccount, SKU, and Quantity set to Enable. Disable optional fields you don’t want to transmit.
Send Order fails with a connection or timeout error

Flxpoint shows an error such as:

Order creation failed. Resubmitting the same order number will fail. Please create a new FR number if the initial submission fails. I/O error on POST: server failed to respond; nested exception is NoHttpResponseException.

This can appear intermittently even when other orders process normally. RSR's server may terminate the connection roughly 60 seconds after receiving the request — before Flxpoint receives a confirmation — even though RSR has already created the order on their side.

How Flxpoint handles this automatically (INT-55517):

  1. If a Send Order call to RSR ends with a connection error, Flxpoint waits 1–2 minutes, then calls RSR's check-order endpoint to verify whether the order was actually created.
  2. If the order is found: the error is suppressed and the Send Order is marked successful. No action is needed.
  3. If the order is not found: the failure is surfaced as normal — follow the retry steps below.

What to do if the error persists:

  • Check your RSR dealer portal to confirm whether the order appears on RSR's side.
  • If RSR received the order, no action is required in Flxpoint — the fail-safe will reconcile it.
  • If RSR did not receive the order, create a new FR/PO number before resubmitting (RSR rejects duplicate PO/FR numbers).
  • If you continue to see failures, contact Flxpoint Support.
Intermittent connection errors (NoHttpResponseException / "failed to respond"): Flxpoint automatically verifies with RSR whether the order was created before surfacing this as a failure. If RSR received the order, the error is suppressed automatically — no action needed. If the order was not created, use a new FR/PO number before resubmitting. See the full entry above for details.
Operation Details
Transport FTP Uploads to your configured outbound folder.
Payload XML Supplier-defined XML schema.
Acknowledgement Not expected Upload success (no error) marks order as sent.
Shipping Method UI Not supported Pass method via mapped fields (e.g., ParcelZone).
Attachments Not supported Only the XML order is transmitted.
Troubleshooting
  • Upload failed? Re-check FTP host/port/user/pass and the outbound path; re-run after fixing.
  • Supplier rejected? Validate required fields (PO number, ShipToAccount, SKU, Quantity) are Enabled and present.
  • Missing lines? Ensure each item maps an SKU and Quantity and that they’re Enabled.
  • Wrong shipping method? Map and Enable the supplier shipping method field (e.g., ParcelZone).
 
 

Get Shipments

Supported | RSR — Get Shipments

Introduction
Get Shipments (GS) retrieves shipment confirmations from RSR via FTP as .xml files and updates your orders with carrier, method, tracking, ship date, and item-level shipped quantities.
Note: Some shipments may not populate a carrier number. Useful identifiers can appear on Carton ID or BOL. Map these fields and add rules to keep the best identifier available.
Purpose of This Job
  • Fetch shipment XMLs from the supplier’s FTP inbound folder.
  • Update orders with carrier, shipping method, tracking ID, and ship date.
  • Associate shipped items by SKU and support partial shipments.
How the Job Works
  • 1Pull XML — Reads files matching your Remote File Name Pattern from the configured Inbound Remote File Folder.
  • 2Parse — Extracts carrier, method, tracking, carton/BOL, and line items (SKU & shipped qty) into your mapping template.
  • 3Apply Lookback — Only Fulfillment Requests created within the FR Lookback Period are considered (default 90 days).
  • 4Save — Posts shipment data back to the order; supports partials.
Example: XML shows Carrier=UPS, Method=Ground, Tracking=1Z…, ShipDate=2025-08-17, and line with SKU=ABC-123, ShippedQty=2 → order updated accordingly.
Setup Instructions
  • 1Connect an Integration — Choose RSR and select your FTP (Basic Auth) connection.
  • 2Configure Settings
    • Remote File Name Pattern * — Mask for shipment XML files (e.g., rsr_shipments_*.xml).
    • Inbound Remote File Folder * — FTP directory to read shipment files from.
    • File ActionRead (leave files) or other actions per your policy.
    • Advanced → FR Lookback Period for Get Shipments — Maximum age of FRs to match (default 90 days).
  • 3Define a Mapping Template — Use the recommended fields below.
  • 4Save & Schedule — Run manually or schedule (UTC).
Operation Workflow
  • Files are fetched over your configured FTP connection.
  • Format is .xml; a sample file is referenced in internal docs.
  • If tracking is absent, use Carton ID or BOL and map accordingly.
Automation & Schedule

Enable scheduling to pull shipments automatically. The status page will show Connected, Configured, and Mapped (e.g., template Get Shipments 2). Schedules run in UTC.

Mapping Template (Enable / Disable)

Toggle each field to control what is saved to the shipment record. Only fields set to Enable will be imported.

Shipment Header
Field RSR Field Notes Status
Carrier Carrier Header text value. Enable / Disable
Shipping Method Shipping Method Supplier method string. Enable / Disable
Tracking ID Tracking ID May be blank on LTL. Enable / Disable
Carton ID Carton Id Use when tracking is missing. Enable / Disable
BOL BOL Bill of Lading for freight/LTL. Enable / Disable
Shipped At Ship Date Maps to shipment timestamp. Enable
PO / FR Number Purchase Order Number Links XML to FR/Order. Enable
Total Weight Actual/Estimated Weight If provided. Enable / Disable
Shipment Items
Field RSR Field Notes Status
SKU SKU Line association key. Enable
Shipped Quantity Shipped Quantity Supports partials. Enable
UOM UOM Optional; reporting. Enable / Disable
Line Weight Weight If present per line. Enable / Disable
Practice: Toggle a required field:
Guidance: Keep PO / FR Number, Shipped At, SKU, and Shipped Quantity set to Enable. Add Carton ID and BOL as fallbacks when Tracking ID is missing.
Operation Details
Carrier & Method SUPPORTED Available in XML header.
Shipment Item Association SUPPORTED By SKU.
Partial Shipments SUPPORTED Multiple files/lines can complete fulfillment.
Invoice Information NOT SUPPORTED Not included in this feed.
Custom Fields NOT SUPPORTED Standard shipment fields only.
Troubleshooting
  • No shipments found? Confirm file pattern/folder and Lookback window cover targeted FRs.
  • Missing tracking? Map Carton ID or BOL as alternates and surface them for customer notifications if needed.
  • Lines didn’t attach? Ensure each line includes a mapped SKU and that it’s Enabled.
 
 

 

Troubleshooting

Common issues for the RSR integration. Expand each item to learn more.