FFL Order Processing Guide

When you receive orders that include both firearm items, which require special FFL handling, and accessory items, our system ensures each product is processed correctly, so you can focus on your business without worrying about manual adjustments.

Why Does This Matter to Me?

If you sell firearms through BigCommerce and use the Master FFL app to collect FFL dealer information from customers at checkout, this guide explains how to connect Master FFL to Flxpoint. Without this connection, FFL details won't appear on incoming orders and any order containing a firearm will be held for manual review—slowing down fulfillment and requiring your team to chase down information customers already provided.

Setting Up Master FFL with Flxpoint

Master FFL is a BigCommerce app that collects FFL dealer information from customers during checkout. To activate this integration, you’ll configure a webhook in Master FFL/FFL360 that pushes FFL data into Flxpoint as orders are placed. Flxpoint ingests that webhook payload first, and then automatically associates the FFL details to the correct order when the order is imported via your BigCommerce “Get Orders” integration.

Step 1 — Find Your Flxpoint Channel ID

Your Channel ID is required to build the webhook URL.

  • In Flxpoint, navigate to Connections > Sales Channels.
  • Select your BigCommerce channel.
  • Your Channel ID is displayed in the channel settings (for example, 12345).

Step 2 — Configure the Webhook in Master FFL

In the Master FFL (FFL360) app on BigCommerce, set your webhook destination URL to:

https://api.flxpoint.com/public/webhook/masterffl/{channelId}/ingest

Replace {channelId} with the numeric Channel ID from Step 1. For example, if your Channel ID is 12345, your URL is:
https://api.flxpoint.com/public/webhook/masterffl/12345/ingest

FFL360 allows you to configure webhooks on the store level. You can find the secrets and other webhook details under the Admin section inside FFL360.

  • Webhook must use HTTP POST.
  • The webhook call must complete within 20 seconds.
  • On success, Flxpoint returns HTTP status 204 (no content). Any other status is considered a failure by Master FFL.

Once this URL is configured and active in Master FFL, Flxpoint will begin ingesting FFL payloads as orders are placed.

Troubleshooting

If Master FFL reports a 404 when testing the webhook URL, re-check that:

  • The URL matches the format exactly: https://api.flxpoint.com/public/webhook/masterffl/{channelId}/ingest
  • {channelId} is the correct numeric Flxpoint Sales Channel ID
  • The webhook is configured as HTTP POST

Step 3 — Enable FFL Import in Flxpoint

In Flxpoint, enable the setting that allows Flxpoint to attach FFL details received from MasterFFL to incoming BigCommerce orders.

  • In Flxpoint, go to Connections > Sales Channels.
  • Select your BigCommerce channel.
  • Open Get Orders settings.
  • In Advanced Configuration, enable: IMPORT FFL DETAILS FROM BIGCOMMERCE VIA MASTER FFL.
  • In the same area, enter your MasterFFL credential:
    • Config Name: MasterFFL API Key
    • Description: Please enter your MasterFFL API Key to enable importing FFL details from MasterFFL.

Once enabled, Flxpoint will use the MasterFFL webhook payload (received via the endpoint in Step 2) and associate it to the order when the order is imported into Flxpoint.

Image 1

BigCommerce ‘Get Orders’ settings screen, highlighting the ‘Import FFL Details from BigCommerce via Automatic FFL App’ toggle.

 

What Happens During Order Processing?

Master FFL and Flxpoint work together using a webhook-based, two-stage flow to ensure FFL dealer details are reliably available on the order in Flxpoint.

For this integration, Flxpoint does not rely on parsing BigCommerce order comments/notes (e.g., “FFL License:” and “Expiration:”) to get FFL information. Instead, it uses the data sent directly from MasterFFL.

How the flow works

  1. Checkout happens in BigCommerce
    The shopper selects an FFL dealer in the MasterFFL app during checkout.
  2. MasterFFL sends the FFL payload to Flxpoint (webhook ingest)
    MasterFFL sends an HTTP POST webhook to Flxpoint’s ingest endpoint (configured in Step 2):
    https://api.flxpoint.com/public/webhook/masterffl/{channelId}/ingest
    • The request must complete within 20 seconds.
    • On success, Flxpoint returns HTTP status 204 (no content).
  3. Flxpoint stores the payload immediately (staging)
    Flxpoint saves the full FFL JSON payload in a temporary “staging” area, keyed by orderId and channelId. This happens even if the order has not yet been imported into Flxpoint, which protects against timing/race-condition issues.
  4. Flxpoint imports the order
    When the BigCommerce Get Orders integration later imports the order into Flxpoint, it checks staging for a matching MasterFFL payload for that order and channel.
  5. FFL details are applied to the order
    If a match is found, Flxpoint pulls the FFL data from staging, saves it to the order using the internal FFL handling logic, and removes the staged record.

With this approach, Flxpoint can safely accept MasterFFL webhooks as soon as checkout completes and then attach the FFL details at the moment the order appears in Flxpoint.

 

 

 

How Are Shipping Addresses Assigned?

Our integration in Flxpoint is designed to ensure that:

  • Firearm Items automatically receive the FFL-specific shipping address derived from the extracted FFL details. This directs these items to a certified FFL dealer for proper handling.
     
  • Accessory Items remain on the regular shipping path, using the standard address provided at checkout.

This separation is handled automatically, no manual sorting or adjustment is required on your end.

 

 

Examples to Clarify the Process

Consider these scenarios:

  1. Order with Only Firearm Items:
    A customer purchases two rifles and includes FFL details in the order note. The system extracts the FFL license number and expiration date and updates the order so that both rifles are shipped using the FFL dealer’s address.
     
  2. Order with Both Firearm and Accessory Items:
    A customer buys a handgun (requiring FFL processing) along with a carrying case (an accessory). The order note provides the necessary FFL details for the handgun. Consequently, the system applies the FFL shipping address to the handgun, ensuring it is delivered through the proper channel, while the carrying case is shipped to the customer’s standard address.
     
  3. Missing or Incomplete FFL Information
    If an order containing firearm items arrives without complete FFL details (for example, missing expiration date), the system flags the order for manual review. Your team can then manually confirm the details or contact the customer to obtain the required information.

    Note on “Additional Info Required”: Even when MasterFFL data is received successfully, an order may still be flagged for manual review depending on your FFL validation/compliance settings. Turning off automatic validation means Flxpoint won’t validate FFL data automatically, but it does not remove the need for validation. In that case, the fulfillment request can still be marked as “Additional Info Required,” forcing a manual verification step.
  4. High Order Volume Performance
    During periods of high order volumes, the system uses an optimized configuration that only fetches additional note data when necessary. This ensures performance remains reliable without sacrificing accuracy in processing FFL-required item.

 

 

Additional Considerations

Manual Intervention
If you need to correct or add FFL details after an order has been placed, you can manually edit this data in Flxpoint. The system automatically re-checks compliance before finalizing shipment.

Automatic Notifications
Your customers receive regular updates, including tracking numbers for each shipment. The system distinctly marks FFL shipments vs. non-FFL shipments, so there’s no confusion.