Bulk upload
Bulk upload lets you create many assets at once from a single Excel template, instead of adding them to Tensor Cloud one by one. The template covers solar, battery, hydro, biomass, and load components, and a single row can describe a multi-component site that combines several of them.
Bulk upload covers asset configuration only. Financial data (CAPEX, OPEX, revenue), historical generation, balancing-group assignment, and PPA assignment are not part of the template — configure these after import using the existing tools.
Getting started
Open the asset list, click the dropdown arrow next to Add new in the top-right corner, and choose Import assets. The import screen opens with two things you can do:
- Download template: Click the "Download template" button at the bottom of the screen to get the empty Excel template, with headers, dropdowns, and a dedicated examples sheet.
- Upload your filled template: Drop your file onto the upload area, or click "click to browse" to choose it from your file browser.
If you're starting fresh, download the template, fill it in, and return to the same screen to upload.
The Excel template
The template is a standard Excel file (.xlsx) with four sheets:
- プロジェクトインポート (Project Import): The data entry sheet. One row per asset, with Japanese headers, English field names underneath for reference, and dropdown validation for grid areas.
- 入力例 (Examples): Five sample rows showing common shapes — solar-only, solar + battery, hydro, biomass, and a multi-component site combining solar, battery, and load.
- 使い方 (Instructions JP) and Instructions (EN): Reference sheets explaining each section, validation rules, and the default values applied to imported assets. The two sheets are mirrors of each other in Japanese and English.
All cells in the data entry sheet are formatted as plain text. Please do not change this — it prevents Excel from auto-converting values such as dates, leading zeros, or scientific-notation numbers, which would otherwise cause validation errors when you upload.
You can submit up to 1,000 rows per file. For larger portfolios, split the data across multiple files and upload them in sequence.
Data entry layout
The data entry sheet groups columns into six sections by colored header:
- プロジェクト (Project) — common fields shared by every asset
- 太陽光 (Solar), 蓄電池 (Battery), 水力 (Hydro), バイオマス (Biomass), 負荷 (Load) — component-specific fields
Each row describes one asset. To create a single-component asset, fill in the project fields and exactly one component section. To create a multi-component site (for example, a co-located solar plus battery system, or solar plus battery plus load), fill in the project fields and every component section that applies. See Multi-component assets for the rules.
Field reference
Project fields
| # | Japanese | English | Format | Required |
|---|---|---|---|---|
| 1 | プロジェクト名 | name | Text | Yes |
| 2 | 緯度 | latitude | Number | Yes (or via location name — see Address-based geocoding) |
| 3 | 経度 | longitude | Number | Yes (or via location name — see Address-based geocoding) |
| 4 | 自治体名 | locationName | Japanese address | — |
| 5 | 系統エリア | gridArea | Dropdown (9 areas) | Yes |
| 6 | 受電地点特定番号 | locationId | Text | — |
| 7 | 系統コード | gridCode | Text | — |
| 8 | 契約識別番号2 | contractClassificationNumber2 | Text | — |
| 9 | 系統連系日 | gridInterconnectionDate | yyyy/mm/dd | — |
| 10 | 系統連系容量 (kW) | siteAcCapacity | Positive number | — |
The valid grid areas are: 北海道 (Hokkaido), 東北 (Tohoku), 東京 (Tokyo), 中部 (Chubu), 北陸 (Hokuriku), 関西 (Kansai), 中国 (Chugoku), 四国 (Shikoku), 九州 (Kyushu).
Solar component
| Japanese | English | Format |
|---|---|---|
| 太陽光COD | solarCod | yyyy/mm/dd |
| 太陽光運転終了 | solarEndOfLife | yyyy/mm/dd |
| 太陽光パネル容量 (kWp) | solarDcCapacity | Positive number |
| 太陽光パワコン容量 (kW) | solarAcCapacity | Positive number |
All four fields are required when you are creating a solar component.
Battery component
| Japanese | English | Format |
|---|---|---|
| 蓄電池COD | batteryCod | yyyy/mm/dd |
| 蓄電池運転終了 | batteryEndOfLife | yyyy/mm/dd |
| 蓄電池容量 (kWh) | batteryEnergyCapacity | Positive number |
| 蓄電池出力 (kW) | batteryPowerCapacity | Positive number |
All four fields are required when you are creating a battery component.
Hydro component
| Japanese | English | Format |
|---|---|---|
| 水力COD | hydroCod | yyyy/mm/dd |
| 水力運転終了 | hydroEndOfLife | yyyy/mm/dd |
| 水力AC容量 (kW) | hydroAcCapacity | Positive number |
All three fields are required when you are creating a hydro component.
Biomass component
| Japanese | English | Format |
|---|---|---|
| バイオマスCOD | biomassCod | yyyy/mm/dd |
| バイオマス運転終了 | biomassEndOfLife | yyyy/mm/dd |
| バイオマスAC容量 (kW) | biomassAcCapacity | Positive number |
All three fields are required when you are creating a biomass component.
Load component
| Japanese | English | Format |
|---|---|---|
| 負荷COD | loadCod | yyyy/mm/dd |
| 負荷運転終了 | loadEndOfLife | yyyy/mm/dd |
| 最小負荷 (kW) | loadMinimumLoad | Positive number |
| 最大負荷 (kW) | loadMaximumLoad | Positive number |
| 平均負荷 (kW) | loadAverageLoad | Positive number |
All five fields are required when you are creating a load component. A load cannot be created on its own — see Multi-component assets.
Multi-component assets
A single row can create more than one component on the same site. Tensor Cloud detects which components to create from the values in each section: if any cell in a component section has a value, that component is created.
The combinations are constrained by these rules:
- Hydro and biomass cannot coexist with each other on the same row.
- Hydro and biomass cannot be combined with solar, battery, or load. Use a separate row for each.
- Load alone is not valid — a row that only has load fields filled in is rejected. Pair a load with at least one of solar or battery.
In effect, a row can describe one of the following:
- A single solar, battery, hydro, or biomass component
- Solar + battery
- Solar + load
- Battery + load
- Solar + battery + load
The five rows on the 入力例 (Examples) sheet illustrate the common shapes.
Address-based geocoding
Many customers can provide a Japanese address but not precise coordinates. When a row has a value in 自治体名 (Location name) but no latitude and longitude, Tensor Cloud automatically derives the coordinates from the address during the review step. The resolved coordinates are shown on the review screen so you can confirm them before any data is written.
A few rules to keep in mind:
- If you provide both latitude and longitude in the file, those values are used as-is — geocoding is not performed for that row.
- If geocoding cannot resolve the address, the row is marked with an error on the review screen. Open the side panel for the row to type in coordinates directly or to refine the location name (see Reviewing your upload).
- Geocoded coordinates are stored on the asset in exactly the same way as values you type in manually. There is no separate marker for their origin.
Reviewing your upload
After you upload a file, Tensor Cloud parses every row, performs validation, runs geocoding for rows that need it, and then opens the review screen showing what would be imported.
The review screen lists every parsed row with a validation status badge — Valid for rows that pass all checks, or an error indicator for rows that don't. The list also shows the geocoding source (manual entry or auto-derived from the address), so you can spot rows where the system filled in coordinates from the location name.
Click any row to open a side panel containing all of the row's fields, grouped by section (project, components, optional fields). Every field in the side panel is editable — fix typos, correct dates, change the grid area, swap in a different location ID, or update component capacities directly here. Click Save to apply your changes to the row, or Cancel to discard them. The validation status updates automatically once you save.
Use the search bar at the top of the list to find specific rows by project name, location, or location ID. The view toggle on the top right lets you collapse columns or hide the side panel while you work through a long file.
Validation rules
The following checks are run against every row:
- Project fields: project name, latitude, longitude, and grid area are required. Latitude and longitude can be left blank if 自治体名 (Location name) is provided — the system will geocode the address.
- Component fields: when a component is detected, all of its required fields must be filled in (see Field reference).
- Coordinates must be within Japan.
- Dates must be entered as
yyyy/mm/dd. Native Excel date cells are also accepted. - End of life must be later than COD for each component. This protects against typos in either date.
- Solar AC ≤ DC: solar inverter (AC) capacity must not exceed the panel (DC) capacity.
- Site AC capacity, when provided, must be greater than or equal to the largest component AC capacity on the row.
- Mutual exclusivity between hydro, biomass, and the other components must be respected (see Multi-component assets).
In addition, the file as a whole is checked:
- Location ID, when provided, must be unique within the file and across the assets that already exist in your workspace. Bulk upload only creates new assets — it does not update existing ones — so any conflict on Location ID is treated as an error rather than a merge decision.
- The file must contain no more than 1,000 rows.
Rows that fail any of these checks are marked with an error on the review screen. You can fix them in place by editing the side panel (see Reviewing your upload) or fall back to fixing the source file and re-uploading (see Fixing errors).
Importing
Once the rows on the review screen are how you want them, click Import in the top right. Tensor Cloud processes the rows in your browser session and shows a live progress indicator. The screen must remain open until the import completes — if you close the tab partway through, the rows that have already been processed remain in place and the rest are not imported.
When the import finishes, the screen switches to Import complete and shows the outcome for every row. Successful rows show as created assets; failed rows show Failed with the underlying error in the side panel. From here you can either start a new import with New import, or click Go to assets to see your imported assets in context. See Fixing errors for what to do about any failed rows.
Any workspace user who can create assets can also bulk upload — no additional permission is required.
Imported asset defaults
The bulk upload template captures the structural data of an asset — name, location, grid configuration, component capacities, and key dates — and Tensor Cloud fills in the rest with sensible defaults so the imported asset is immediately usable. The defaults are also documented inside the template's instructions sheet for reference.
The values below are starting points, not your real specifications. After import, open each asset in asset settings and update the defaults to match the actual asset (panel tilt and azimuth, loss rates, battery efficiency and cycle cost, charge mode, and so on). Without this step, simulations and optimization will run against placeholder values rather than the real configuration.
Solar defaults
| Setting | Default |
|---|---|
| Panel tilt | 20° |
| Panel azimuth | 180° (south-facing) |
| Losses | Soiling 2%, shading 3%, others at standard values |
Battery defaults
| Setting | Default |
|---|---|
| Maximum cycles | 4,500 |
| Round-trip efficiency | 92% |
| Cycle cost | ¥10/kWh |
| Charge mode | Co-located with solar: Solar Only (grid charging off). Standalone battery: Grid Assist (grid charging on). |
Tag
Every asset created by bulk upload is automatically tagged with the cyan インポート tag, so you can filter the asset list to see exactly which assets came in through this flow. See Tags for how to use tags.
Other configuration
The following are not configured by bulk upload and remain empty until you set them up:
- Simulation scenario (other than the platform default)
- Metadata
- Balancing group assignment
- PPA assignment
- CAPEX, OPEX, and revenue
- Tensor feature flags
Fixing errors
You have two ways to fix a row that has an error:
Fix in the review screen
If the row is still on the review screen — for example, a missing required field, a date in the wrong format, or a Location ID that conflicts with an existing asset — open the side panel for that row, correct the offending fields, and click Save. The validation status updates immediately, and the row will be imported on the next click of Import. This is the fastest path for small fixes.
Re-upload after editing offline
For larger cleanups, or to keep your source-of-truth template up to date outside Tensor Cloud, download what you uploaded and edit it in Excel. Two download options are available from the top of the screen:
- Download errors only — under the dropdown next to the main download button — exports only the rows that failed. This is the cleanest retry path: fix the rows in Excel, click New import, and upload the corrected file.
- Download all exports every row from the import, including successes, in the same template format. Use this when you want a snapshot of what you submitted, not as a retry file — re-uploading the full set will surface the already-imported rows as Location ID conflicts.
Both downloads use the standard template format, so you do not need to copy rows back into a fresh template.