Import your data into ion from existing systems - PLM, spreadsheets, etc.
You will need a client ID and a client secret to authenticate to the API. You can get your client ID and secret by contacting First Resonance (software@firstresonance.io). You may want to override the API you are writing to with the following environment variables.
If you are targeting a non-production API, set ION_IMPORT_API
to the API you are writing to and set your ION_API_AUDIENCE
to the API audience for the target API.
System dependencies:
- Python
- pip
- virtualenv
Create a virtualenv and activate it:
virtualenv -p python3 importer_venv
source ./importer_venv/bin/activate
Then, install the dependencies:
pip install -r requirements.txt
To import any transformed inventory CSV into ION run the following command.
python importers/inventory/import.py /path/to/upload.csv --client_id <YOUR_CLIENT_ID>
We currently support importing parts and inventory from an excel file providing it contains the correct columns and format
Supported Fields For Parts:
- Part Number (required)
- Description
- Tracking Level (valid options [Lot, Serial])
- Depth: Int value describing the MBOM structure
- Revision: String value which can only contain alphabetic text
- Quantity: MBOM quantity
Supported Fields For Inventory:
- Part Number (required)
- Description
- Serial Number
- Lot Number
- Quantity
Run excel importer for parts:
python importers/inventory/excel/import.py /path/to/excel_file --client_id=<client id> --type parts
Note that if no type is specified is defaults to parts
Run excel importer for inventory:
python importers/inventory/excel/import.py /path/to/excel_file --client_id=<client id> --type inventory
We currently support importing inventory from fishbowl. Both part metadata as well as inventory tracked lot and serial parts.
Supported Fields:
- PartNumber
- PartDescription
- Location
- Qty
- UOM
- Cost
- Tracking-Lot Number
- Serial Number
- PartType
Run fishbowl converter:
python importers/inventory/fishbowl/transform.py /path/to/fishbowl/csvs --output_file=optional_output_filename
To import a BOM from SolidWorks, first make sure it is exported as an Excel (.xlsx) file. That can be done by following the instructions found here. Be sure to follow the convention of keeping the filename as the Part Number for the BOM export's top level part.
The importer will create a corresponding MBOM item for every entry in the exported BOM, following the same hierarchy. If the part referenced by the BOM item does not exist within the ION ecosystem, then the part will be created in ION as well.
Any failures to import BOM items will be logged to the console with the message describing the reason for the failure, but will not stop the importer from continuing to the next item. The most common reason for failures is duplications of the same part number at the same level of indentation. It is best to verify there are no such duplicates ahead of time.
Supported Fields for BOM Items:
- Part Number
- Level
- Quantity
Supported Fields for created Parts:
- Part Number
- Description
- VendorNo
Run SolidWorks BOM importer:
python importers/bom/solidworks/import.py /path/to/solidworks/excel.xlsx --client_id <YOUR_CLIENT_ID>
Runs can be bulk imported from a CSV format.
The importer will create serial tracked inventory instances for each serial number within the CSV. The part which the inventory entries reference must be previously created.
If no title is specified in the CSV, then a default title is generated using the format <Part number> - <Serial number> - <Procedure title>
.
Execute Bulk Run CSV importer:
python importers/run/csv/import.py /path/to/run.csv --client_id <YOUR_CLIENT_ID>