> ## Documentation Index
> Fetch the complete documentation index at: https://docs.plantpredict.com/llms.txt
> Use this file to discover all available pages before exploring further.

# RELEASE 12.30.0

**July 30, 2026**

# **PlantPredict**

### **PVsyst Import**

The PVsyst ZIP import has been improved, including how missing equipment is resolved, what the review page guarantees, and the fidelity of the imported values.

The import no longer fails outright when a variant references a module, inverter, or weather file that is missing from the archive. The import review page now identifies each referenced item and offers a path forward:

* **Library matching** — When a missing file's name matches records already in PlantPredict, those candidates are offered for selection. Each can be opened for inspection before it is chosen.
* **Inline upload** — When no match is found, the missing file can be uploaded directly on the review page instead of restarting the import.
* **Project-wide resolution** — Resolving a shared record once applies it to every variant that references it.

Supporting changes in this release:

* All variant validation runs before the review page is shown, so the review page reflects exactly what will be created—variants no longer drop out at create time. When no variant can be imported, Create is blocked with per-variant reasons instead of producing an empty project.
* Files that are present in the ZIP but unreadable now block at review with the same upload and select options, instead of passing review and failing at create.
* A variant's **near-shadings mode** now carries into the Direct Shading model instead of defaulting to Module File Defined.
* Single-voltage OND files are now accepted; previously they were rejected for having no efficiency curves, with no workaround available. This applies to both the Inverter library upload and the PVsyst import.

Additional fixes:

* **Relative humidity** — Fixed an issue where relative humidity was imported as a 0-1 ratio instead of a percentage, leaving values 100× too low. Projects imported before this release can be corrected by re-importing the PVsyst project.
* **ZIP folder structure** — Fixed an issue where ZIP files created on macOS failed with unresolved file references even though the files were present. Files are now matched by name regardless of folder structure.
* **"Fixed tilted" plane variants** — "Fixed tilted" plane variants can now be imported, as Fixed Tilt. They were previously rejected. PVsyst does not state a row pitch for a fixed plane, so pitch is derived from your company default GCR, and can be adjusted manually.
* **Timeframe dates** — Imported predictions now have Timeframe Start and End dates stamped from the weather file instead of left blank. Predictions imported before this release keep their blank dates until re-imported, and the fields remain editable.
* **Import cleanup** — Fixed an issue where an import could fail partway through because routine background cleanup deleted files it was still using.

### **PVsyst ZIP Import API**

The PVsyst ZIP import is now available as a documented public API for API customers. Two endpoints are provided—one to submit an import job and one to poll its status. Content-verified matching against your existing library still applies, but the API does not bind a best-guess record on the caller's behalf, and the interactive resolution options available in the UI do not apply—a caller that needs different equipment corrects the export and resubmits. A ZIP with no importable variants returns a failure rather than creating an empty project.

See [Import a PVsyst project](/api-docs/pvsyst-import) for a full walkthrough.

### **Content-Based Duplicate Detection**

Duplicate detection for modules, inverters, and weather files now compares record **content** rather than name alone, and applies across every add and save flow—manual entry, PAN and OND uploads, the weather wizard and provider downloads, and project imports.

* When an existing record matches, it is offered for reuse, with an explicit option to create a new record anyway.
* Retired and Global-Retired records are excluded from matching.
* The previous name-only duplicate warning has been removed—two records that share a name but differ in content no longer warn.

### **Pay by Invoice in Self-Checkout**

Users subscribing through the self-service portal can now choose **Pay by Invoice** instead of paying by card. Selecting it generates a Stripe invoice immediately, opens it in a new tab, and emails a copy to the subscriber. Invoices can be downloaded and paid by card or bank transfer, and remain accessible from the Subscription screen.

Premium features unlock once the invoice is paid, and the subscription term starts on the payment date. Pay by Invoice is currently available for **annual subscriptions** only.

<Frame caption="Pay by card / Pay by invoice selection in the self-checkout order summary">
  <img src="https://mintcdn.com/terabaseenergy/bQG4p0mszNAlkoC-/images/release-12-30-0-invoice.png?fit=max&auto=format&n=bQG4p0mszNAlkoC-&q=85&s=5327f52ce1ff92cbba6c30bca56f8b3d" alt="Pay by invoice option in self-checkout" width="3550" height="2475" data-path="images/release-12-30-0-invoice.png" />
</Frame>

### **MCP Server Coverage**

The PlantPredict MCP server has been extended to close gaps against the UI, so that more of what can be done in PlantPredict can also be driven through an AI assistant:

* **Projects** — creating a project from latitude/longitude, cloning, exporting, setting status, and listing projects by status
* **Equipment libraries** — cloning module and inverter records
* **Weather** — weather file quality checks and horizon detail retrieval
* **Results** — comparing predictions and retrieving average energy results
* **Financials** — retrieving the financial model, saving financial model parameters, and retrieving cash flow results
* **Reports** — cancelling report generation

Company defaults can also now be updated through the MCP server.

## **Improvements and Bug Fixes**

* **LeTID and degradation rates** — Fixed an issue where LeTID and non-linear degradation rate inputs were saved back in decimal form after a prediction run, dividing the stored values by 100 on each run. Prediction results were not affected—the values were correct during the run and only the saved inputs drifted.
* **PAN file import—Cell Design Type** — Fixed an issue where modules imported from a PAN file always showed Full Cell Technology; half-cut modules now import as Half Cell Technology. Prediction results are unaffected.
* **Weather file upload filter** — Fixed the file extension filter limiting selection to `.MET` files; `.CSV`, `.XLSX`, and `.EPW` are selectable again.
* **PlantSummary8760 Plant Energy total—non-ESS (V13)** — Fixed a regression where cell S13 showed Net Energy instead of Gross Energy in non-ESS V13 predictions, causing the total to not reconcile with the hourly column data.
* **SunSolve results in reports** — **SunSolve Transmission Gain** now appears in the loss factors of the Plant Summary, Plant Summary 8760, and Block Summary 8760 reports, and SunSolve input parameters were added to the Inputs & Assumptions report.
