Overview

The Automatic FFL Checkout App replaces the One-Page Optimized Checkout of a BigCommerce store with one that makes it convenient for customers to ship their purchased firearms to their local FFL (Federal Firearms Licensee). The application provides facilities for the store owner to define which products must be shipped to an FFL, and which FFLs they can be shipped to.

Customers of the store are provided with an FFL locator powered by Google Maps. The locator is presented to the customer on the checkout page, and allows them to easily search for, and select the FFL of their choice. Customers are unable to from complete any firearms-related purchase without first selecting an FFL.

Installation guide

This document is a detailed guide on the installation and configuration of the Automatic FFL Checkout application.

To begin the installation process, log in to your BigCommerce storefront portal at bigcommerce.com.

Locate and click on the Apps tab in the sidebar to the left.

You should now be on the Apps page. Click the button that reads “bigcommerce.com/apps” to be taken to the BigCommerce App Store.

Use the search bar at the top of the page to lookup “Automatic FFL.”

Click on the Automatic FFL Checkout app out of the list or results. On the application page, click the Install button.  You will be redirected back to your storefront portal with the option to add the application to your store.

If you wish to proceed, click the Install button once more. The app will now request permission to access a number of store features. You must accept the terms and conditions to continue.

Once you’ve agreed to the terms of service, click the Continue button to complete the installation process. The app will now appear in the sidebar of your store. Your checkout has now been replaced with the Automatic FFL checkout.

Inventory Management

For the application to properly identify firearms and shipping-restricted products, the store owner must first flag them with a specific custom field and value. This can be done in the store control panel under the Products tab.

Simply click on the action menu and select Edit. Once you’ve begun editing a product, you can scroll down to the Custom Fields section.

Simply add a custom field with the name ‘FFL’ and the value ‘Yes’. Click the Save button to confirm your changes. It will now be restricted to FFL shipping.

This process can be simplified with BigCommerce’s bulk edit to easily update the entire catalog.

List of FFL dealers from the admin panel

FFL Customization

When you install the app, your store will be allowed access to a database of all current FFL holders in the United States excluding major brands (i.e. Walmart, Dick’s Sporting Goods, etc.).

The database interface will be the first thing you see when the application is started. From here, you can click the Edit button to begin customizing specific information associated with FFLs.

Information that you can edit is restricted to non-vital and optional fields. You cannot alter any information regarding the FFL’s license, name, or address.

Custom information is displayed to the customer during checkout. Setting a dealer to preferred status will display a star next to their name in the checkout map. Simply click one of the toggles next to the setting you’d like to change.

Business hours and transfer fees are displayed to the customer during checkout. To edit these, simply type the information you wish to enter into the boxes. If it is valid, the Add button will become highlighted. Click on it to submit your changes.

When you are done editing a dealer, make sure to click the Save button to confirm your changes.  You will be presented with a success message if the information you entered is valid. The information will then be displayed in the locator during checkout.

Bulk Editing of Dealer Information

The Export and Import tabs are provided for your convenience. Editing of individual dealership information is possible directly in the admin panel as described above. However, if you already have long lists of dealers you prefer, want to exclude or for whom you have information on fees and hours you can edit the information in a spreadsheet.

Click on the Export or Import tabs located at the top of the screen to begin either process.

Export

On the Export page, there are multiple options for exporting your customized dealers. Each option will download a CSV file from the database. The ‘All FFL dealers’ option will export every dealer in the database. This includes dealers that you have not yet customized; this is useful for beginning the bulk import process. Every other option will export only previously edited dealers, with the selected preference.

Once you have an option selected, click the Export button to receive your file.

Import

On the import page, simply upload a valid CSV file in order to overwrite existing dealer customizations. Click the Upload button to complete the import. This may take a moment depending on the size of the uploaded file. The format of the CSV should be as follows:

dealer_iddealer_namefeesschedulesenabledpreferred
12EXAMPLE SPORTING GOODSHandgun#12.00; Rifle#45.50Monday#00:00-12:00;Tuesday#01:00-12:00TRUEFALSE

The name of the dealer is only present for convenience when bulk editing the entire database. It should not be changed and is not required, although changing it will not cause issues with importation.

Altering the id of a dealer will corrupt the CSV if the id is outside the range of the database, or will simply cause the dealer with that id to be overwritten. Do not change the id of the dealer when editing an exported file.

If your submitted CSV is successfully imported, you will receive a notification.

Customer Experience

After installing the app, your optimized one-page checkout will be replaced with the Automatic FFL Checkout application. Depending on the contents of a customer’s cart, extra steps will be added to the checkout process. These steps ensure that products restricted to FFL shipping cannot be shipped (intentionally or otherwise) directly to the customer’s shipping address.

If a customer has added a product to their cart that can only be shipped to an FFL, a button to open an FFL locator will appear at the top of the checkout. A prompt will then appear instructing them to use the locator to select the FFL of their choice.

Clicking on ‘Select Your Dealer’ will open the locator. Using Google Maps, the customer can then search any location to find FFLs within a specific radius.

After searching, a list of any FFLs in the area will be displayed. If the customer fails to select an FFL, they will not be able to complete the checkout process so long as the restricted product remains in their cart.

Once a customer has successfully selected an FFL, the shipping information of that dealer will be automatically loaded into the checkout. All FFL-restricted products will then be assigned to that shipping address. If a customer has purchased both restricted and non-restricted products, the checkout app will automatically separate them. Restricted products will end up being shipped to the FFL, while any non-restricted products will be sent to the customer’s supplied shipping address.

Developer Customizations

Styling

The application will do its best to match the store’s styling by using the active Stencil theme. If for any reason it clashes, the store owner can style any element they’d like using the attached CSS classes. A developer can find these classes attached to the elements on the checkout page.

Locator

Editing the store theme will also allow you to display the FFL locator on pages other than the checkout.

Adding an HTML div with the id of ‘ffl-locator-component’ to any page in your Stencil theme will cause the locator to appear in that element.

When used outside the checkout, the locator will work with any Stencil theme based on Cornerstone from BigCommerce. Deviations from the styling standards of that theme will cause the locator to experience issues, such as appearing outside the page, or stretching the view of the store. These issues can be solved by a developer, but will require custom styling based on your store.