Importing a Partlist (BOM)

Part lists can be imported into Aligni using the "Import Part List" function from the part submenu. This allows you to load a partlist that has been saved with another tool. For example, many CAD packages allow the export of a schematic's BOM (Bill of Materials). This BOM can then be imported into Aligni.

Part lists may only be manipulated when the part is in Draft mode. Once a part is released, a new revision is required to make part list changes.
Before you may import a partlist (BOM) into Aligni, the parts on that partlist must already exist as parts in the database. This is a requirement of the way Aligni supports partlists as database entities and not just a list of text.

Altium Designer

AD6-NoLoadParameterAD6 and Aligni get along very well. Here are a few guidelines to follow when entering schematics into AD6 so that their BOM can easily be transported to Aligni:

NoLoad Parameter in AD6

  • Include a PartNumber parameter for each part. The value of this parameter should be your company’s part number for that part. You could also use the manufacturer’s part number.
  • Include a NoLoad parameter for parts that exist in the schematic, but will not be loaded at assembly time. If the value is anything except for 0 or false, the subpart will be classified as No Load. For example, if you set the value to NoLoad, you can turn on the Visible flag to show the word “NoLoad” in your schematic for clarity.

BOM Export in Altium Designer

AD6-BOMExportWithin AD6, you can export a BOM by selecting Reports → Bill of Materials from the menu of an open schematic. The best way to setup the export for Aligni is as follows:

  • Include the following columns: PartNumber, Quantity, Designator, Comment, and NoLoad
  • For Grouped Columns, use PartNumber and NoLoad (in that order).
  • Choose CSV as the File Format.

The specified column grouping will keep the NoLoad items and the Load items separate within your Aligni partlist and will properly apply the NoLoad attribute.

Column / Attribute Matching

From a Part Detail page, you can select “Import Partlist” to start the Partlist Import Wizard. You can then upload a CSV file with line-by-line partlist information. An example BOM in CSV format is shown at the end of this page.

PartImport-ColumnsOnce you select the CSV file and upload it, Aligni will parse the data and allow you to select the appropriate columns for the data it will import. For this file, the chosen column meanings are shown in the image below.

Below the column selection tool is a row selection tool that shows the CSV file in tabular form. You can select each row you want to be imported as shown below. In this case, we have selected all rows even though two of them will create mismatch errors.

Row Selection

Once you select the columns and rows, Aligni will read the data, attempt to match part numbers, and display the results. A green box in the first column represents a valid database match. A red box represents a mismatch; the part number was not found in the database.



Once you submit the form, the valid rows will be added to the part’s partlist and you will be directed back to the Part Detail page.


Import Wizard Sample Data

"Item","Designator","Item Comment","Partnumber","Manufacturer P/N","Manufacturer","Description","Comment","Value","Quantity"
"1","","PCB assembly","000205","FPGA1200-ASSY","Non-Material","Full PCB assembly","","","1"
"2","","Electrical testing","000209","FPGA1200-TEST","Non-Material","Electrical testing","","","1"
"3","","Printed circuit board","000172","FPGA1200-PCB","PCB Factory","PCB for DAQ FPGA board","Bare PCB","","1"
"4","C1","","000090","B76004V2279M045","EPCOS","Tantalum","SM-D, 4v, 20%, low-ESR","220 u","1"
"5","C2, C3","","000018","T491A106K010AS","Kemet","Tantalum capacitor","SM-A, 10v, 10%","10 u","2"
"6","C4, C5, C7, C8, C9, C10, C11, C12, C13, C14, C16, C17","","000020","C0603C103K5RACTU","Kemet","Ceramic capacitor","SM-0603, 10%, 50v, X7R","0.01 u","12"
"7","C6, C15, C18, C19, C20, C21","","000019","C0603C104K4RACTU","Kemet","Ceramic capacitor","SM-0603, 10%, 16v, X7R","0.1 u","6"
"7b","K9","","020154","BADPART56","Cypress Semiconductor","Funky SRAM","97kByte","","1"
"8","R1, R2, R3, R4, R5","","000106","CRCW060310R0JNEA","Vishay","Thick-film resistor","SM-0603, 5%, 1/10W","10","5"
"9","R8, R9, R10, R11, R12","","000166","RC0603JR-0710KL","Yageo","Thick-film resistor","SM-0603, 5%, 1/10W","10 k","5"
"10","R6, R7","","000126","RK73Z1JTTD","Koa Speer","Zero-ohm resistor"," SM-0603, 1/10W, 50 mOhm max","0","2"
"11","R13","","000136","TC33X-2-502E","Bourns","SMD Trimming Potentiometer","3mm","5 k","1"
"12","U1","","000139","SN65LVDS1DBV","Texas Instruments","High-sped Differential Line Driver","SOT23-5","","1"
"13","U2","","000032","XC3S1500-4FG676C","Xilinx","Spartan-3 FPGA","1,500,000-gate, BGA","","1"
"14","U4","","000154","CY22150FZXC","Cypress Semiconductor","Single-VCO PLL","I2C programmable","","1"
"15","U5","","000191","CY7C008V-25AC","Cypress Semiconductor","Asynchronous DPSRAM","3.3v, 64Kx8, 68PIN","","1"