Skip to main content
All CollectionsIntegrationsCSV Files Integration
Upload your Off-The-Shelf parts (MPNs) to Luminovo
Upload your Off-The-Shelf parts (MPNs) to Luminovo

Luminovo can not find your MPNs? You can add the missing parts to Luminovo by uploading a JSON file

Luminovo Support avatar
Written by Luminovo Support
Updated over a week ago

File Naming

Please name your .json as luminovo_tenantname_parts.json where tenantname is the first part of the URL you use to access Luminovo. So if you access Luminovo under https://ems.luminovo.ai please name your file luminovo_ems_parts.json.

.json format

The file should use UTF-8 encoding. Especially quote characters within the value itself should be escaped using a backslash. For example, the value Wire 3/8" should appear in the file as "Wire 3/8\\"".

When you do not have a value for an optional key, omit the key/value pair entirely, instead of specifying it as "key": null.

Unless explicitly marked as Required all values are optional.

Unless explicitly marked otherwise, all values should be provided as strings.

The file is expected to contain an array of part objects with the following structure.

Part object structure

  • "mpn": The manufacturer part number. Required

  • "manufacturer": The manufacturer of the part. Required. The combination of mpn and manufacturer should be unique across the entire file.

  • "alias": Aliases for the MPN**.** An array of strings.

  • "description": A description for the part.

  • "part_type": The type of the part.

  • "se_id": If your part data is coming from Silicon Expert, you can provide their part ID here.

  • "crosses": Alternative parts for the part. Ignored. An array of objects with the following structure

    • "CrossPartNumber": the MPN for the alternative part

    • "CrossManufacturer": the manufacturer of the alternative part

    • "CrossType":

    • "Comment": A comment about the alternative

  • "package": The package for the part. ****An object with the following structure

    • "name": The package name (e.g. "0402"). For SMT packages like "0603" we will assume it is given in the imperial system (measured in thous/inches). Add it as "0603mm" if it is given in the metric system (measured in mm)

    • "mounting": The mounting (e.g. "SMT").

    • "pin_pitch": The pin pitch.

    • "length_in_mm": The length of the package in mm. Ignored

    • "width_in_mm": The width of the package in mm. Ignored

    • "height_in_mm": The height of the package in mm. Ignored

    • "thread_size": The size of the thread. Ignored

    • "number_of_pins": The number of pins. Can be a String or Number.

  • "compliance": Compliance information for the part**.** An object with the following structure

    • "eu_rohs": RoHS information for the part**.** If provided, it must be a value from RoHS compliance status (see below).

    • "aec_qualified": Not parsed yet.

    • "contains_svhc": If provided, it must be either "yes" or "no". See REACH compliance status for more information.

    • "svhc_exceed_threshold_limit": If provided, it must be either "yes" or "no". See REACH compliance status for more information.

  • "lifecycle": Not parsed yet.

    • "status": The status.

    • "estimated_eol_date": Year of estimated end of life.

    • "last_time_buy_date": The date the part can be bought the last time.

  • "datasheet_url": A URL for the part’s datasheet.

  • "part_type": The type of the part.

  • "technical_properties": The technical properties of the part. An object of the following structure

    • "resistance_value": We recognise values in the form of "x mΩ" or "x m" for milliohms, "x Ω" or "x" for ohms, "x kΩ" or "x k" for kilo ohms, "x MΩ" or "x M" for mega ohms and "x GΩ" or "x G" for gigaohms. Fractional values must be provided with a decimal point (e.g. 1.5).

    • "resistance_range": Ignored

    • "inductance": Ignored

    • "capacitance_value": We recognise values in the form of "x pF" for picofarads, "x nF" for nanofarads, "x uF" or "x µF" for microfarads, "x mF" for microfarads and "x F" for farads. Fractional values must be provided with a decimal point (e.g. 1.5).

    • "dielectric_type": We only support ceramic capacitors at the moment. We recognise the following types:

      "X8R" "C0G" "NP0" "X7R" "X5R" "X8L" "Y5V" "X6S" "Z5U" "X7S" "Y5U" "C0H" "Y5R" "Y5P" "Y5T" "U2J" "Z5V" "Z5P" "K4000" "X6T" "X7T" "Z5F"
    • "power_rating": We recognise values in the form of "x mW" for milliwatts, "x W" for watts, "x kW" for kilowatts and "x MW" for megawatts. Franctional values must be provided with a decimal point (e.g. 1.5).

    • "technology": Ignored

    • "temperature_coefficient": We recognise values in the form of x ppm/°C or xppm/°C where x is the temperature coefficient value. Franctional values must be provided with a decimal point (e.g. 1.5).

    • "tolerance": We recognise relative tolerances and absolute tolerances. Relative tolerances must include a percentage sign (e.g. "1%"). Absolute tolerances are only considered in relation to a given capacitance_value or resistance_value and must include units. For example: Given "tolerance": "5Ω" and "resistance_value": "50Ω" we compute a tolerance value of 10%. Franctional values must be provided with a decimal point (e.g. 1.5).

    • "voltage_rating": We recognise values in the form of "x mV" for millivolts, "x V" for volts, "x kV" for kilovolts and "x MV" for megavolts. Franctional values must be provided with a decimal point (e.g. 1.5).

RoHS compliance status

We lowercase the given value and perform the following mapping:

  • "yes" ⇒ Compliant

  • "no" ⇒ Non-Compliant

  • "yes with exemption" ⇒ Compliant with exemption

  • "not required" or "nr" ⇒ Not required

  • "unknown" ⇒ Unknown

All other values will result in an Unkown RoHS compliance status.

REACH compliance status

We calculate the REACH compliance status based on the values of the two keys "contains_svhc" and "svhc_exceed_threshold_limit". The following logic applies

  • If "svhc_exceed_threshold_limit": "Yes" ⇒ Non-Compliant (regardless of the value for "contains_svhc")

  • If "svhc_exceed_threshold_limit": "No" ⇒ Compliant (regardless of the value for "contains_svhc")

  • For other values of "svhc_exceed_threshold_limit" (or if not provided):

    • If "contains_svhc": "yes" ⇒ Unknown

    • If "contains_svhc": "no" ⇒ Compliant

    • Otherwise ⇒ Unknown

Uploading the Data

Uploading your off-the-shelf parts to Luminovo works in the same way as uploading the CSV files. You can find the full instruction for the file upload on this page.

Did this answer your question?