Creating a New Product

In the MacroFab platform Products provide you the ability to fulfill orders to customers, define programming and testing procedures for PCB assemblies, and define build-box procedures for final product assemblies.  Beyond just defining the testing and building procedures for products, you can also receive quotes, plan production costs, and place orders for complex products interactively.

Defining Product Details

The first step in creating a new Product is to define the product details.  You will not be able to save a product, or define its bill of materials, until you have provided a Name, SKU, Weight, and Dimensions.


Clicking on any field automatically starts editing, and then leaving the field (either with the Tab key or clicking on another field with your mouse) stores your changes.

Product Name

A product name is a descriptive name for the Product.  It will appear in inventory lists and on packing slips for fulfillment orders.  This name should be unique among all products you have, and if your products have different versions, the version identifiers should appear in the product name. This field is required.


This is a summary description that will appear in your inventory display.  Use this field to describe any further details about the product that you feel are necessary.  This field is optional.


SKU is a Stock Keeping Unit, a unique identifier like a serial number or UPC/EAN code that distinguishes this product from all others, even with the same name. A SKU can only be used for one product at a time, and you cannot create a product with a SKU that is already used by other inventory items.  The SKU for your product will appear on packing slips and on stickers printed and placed on the product packaging. This field is required.

MacroFab will always create an internal SKU for your product, which is not displayed to you, to ensure that it is not possible for products from two customers to have the same SKU.  This internal SKU will be labeled on your product along with the SKU you specify.

SKUs need to be meaningful. A SKU is a Stock Keeping Unit, a unique identifier for your product that will be used in numerous places, but especially in inventory.  Every product we build into inventory will labeled and barcoded with this SKU.  Each version of a product should have a unique SKU.  For example, if you have two versions of a PCB product, and your company is Bob’s Computers, your SKUs might be: BC-GREATPCB-01 and BC-GREATPCB-02, allowing immediate identification of the exact product.

Insured Value

This is the default insured value for products you store with us.  If these products are shipped in and not built by us, this will be the default insured value for incoming items that do not have a value specified at shipping time.  When we build products for you, the insured value of that batch of products will be set to the unit cost we charged you.  While this field is optional, it should never be set to zero.

Insurance Values are the amount we will insure your inventory for, in case of traumatic loss. (Such as fire, hurricane, theft, etc.)  Providing too low of a value may result in a loss, as we will not claim a value higher than you provide.  Providing too high of a value may result in a reduction of insured value at claim time, as our insurance carrier may require proof of the insured value.  In the future, we may charge additional fees based on the overall value of insured items you have stored with us.

Sale Price

Sale Price is the default price you sell one unit of this product for.  This value is used to define the customs value amount on international shipments, and you may change the sale price for individual orders at fulfillment time. This value is optional, but should not be set to lower than its insured value.

Harmonized Tariff Code

Harmonized Tariff Codes are used on customs forms when fulfilling international orders.  Products with a Harmonized Tariff Code cannot be shipped internationally.  For more information, see Understanding Harmonized Tariff Codes. This value is optional, but not providing it, or providing an incorrect HTS code may result in an inability to ship internationally, or packages delayed at customs.

Weight and Dimensions

Weight and product dimensions should be provided in imperial units.  Putting in incorrect values may result in higher shipping charges than estimated, as we use these values to automatically size packing boxes and estimate total weight for shipments.  These fields are required.

Specifying PCB, Bill of Materials, and Instructions

Once you have specified all of the required fields for your new product, you can now save the new product definition and a new section will appear at the bottom of the screen.


The workflow from here will change based on what kind of product you are making, and what sort of build and test procedures you need to perform.  See the following articles for more detailed instructions:

Building PCBs as a Stand-Alone Product

Creating Complex Products

Programming and Testing PCB Products

Build-Box Instructions and Final QC for Products


Product Best Practices

Applying a few best practices when creating and managing products will make your life easier, reduce confusion, and increase customer satisfaction.  While managing product naming, SKUs, and versions is an art among the well-versed in product lineups, the following best practices should always be applied:

  • If you have a registered UPC or EAN code, use that as your SKU
  • If your product is from a 3rd party, and you are re-selling it as-as, use the original company’s SKU to avoid confusing labels on products
  • When creating your own SKU, always prefix them with a 2-3 letter code that will help to identify your products among others
  • Always append a version number to your SKU, you never know when you’ll need to make a product change later
  • Create a new SKU for every variation and change in your product, whether color, features, or PCB version.  Do not re-use SKUs among versions of product that have changes!
  • Avoid obfuscated names and strings in Product Names, make them human-readable and understandable