> For the complete documentation index, see [llms.txt](https://docs.fabricplan.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.fabricplan.com/planning-sheets/concepts/writeback.md).

# Collaboration and export - Writeback

Writeback brings planning data into the broader Microsoft Fabric ecosystem. By persisting plans, forecasts, budgets, targets, assumptions, and user-entered updates in Fabric SQL or OneLake, writeback makes forward-looking data available to Power BI, semantic models, data agents, ontologies, pipelines, and other Fabric workloads. This capability enables organizations to move beyond reporting only on what happened in the past or monitoring what is happening now. When planning data is incorporated into analytics and AI experiences, the system can also reason against future objectives. Users can ask questions such as, “At our current rate, will we meet this year’s forecast?” or “Are we on track to remain within budget?” In this way, writeback serves as the bridge between planning and execution, giving Fabric’s reporting, data, and AI capabilities the forward-looking context needed to compare actual performance with intended outcomes.

### **Integrate and consolidate planning data across Fabric**

Plan across any data platform. OneLake mirroring brings data from external platforms into Fabric without extraction, duplication, or new data pipelines. Access planning data directly from platforms such as Snowflake, Databricks, BigQuery, SAP, and Oracle through OneLake.

<figure><img src="https://257222532-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUtolck8kt8atqxFPsEBn%2Fuploads%2FYzLq5lxcpBtYOnQo7S0q%2Fimage.png?alt=media&amp;token=83276ba1-709e-4ffd-aaf1-1ba051347904" alt=""><figcaption></figcaption></figure>

Write planning changes back to a Fabric SQL database to consolidate planning data from across the organization in a single Fabric environment.

### Enable downstream reporting <a href="#enable-downstream-reporting" id="enable-downstream-reporting"></a>

Make consolidated planning data immediately available for downstream reporting, analysis, and validation in Microsoft Fabric. Once planning data is captured and consolidated, Power BI reports, semantic models, dashboards, and other Fabric workloads can consume it without maintaining separate copies of the data.

This capability creates a continuous flow from planning to reporting, allowing organizations to compare plans with actuals, validate inputs, monitor variances, and build executive dashboards using the same trusted planning data.

### Capture all planning inputs in a centralized writeback table <a href="#capture-all-planning-inputs-in-a-centralized-writeback-table" id="capture-all-planning-inputs-in-a-centralized-writeback-table"></a>

Store numeric values, text, dropdown selections, statuses, and user assignments alongside the relevant planning dimensions. Preserve context at specific points in time by keeping values, comments, statuses, categories, and assigned users together with the planning dimensions, making each record easier to interpret and trace.

<figure><img src="https://257222532-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUtolck8kt8atqxFPsEBn%2Fuploads%2FdNrjmj0g6jIJOAwvsB3v%2Fimage.png?alt=media&amp;token=71ca85fb-d6bc-4b71-8ce6-07fa1d53317a" alt=""><figcaption></figcaption></figure>

### Control how data is structured in the destination <a href="#control-how-data-is-structured-in-the-destination" id="control-how-data-is-structured-in-the-destination"></a>

Choose how to structure writeback data in the destination to support different storage and analysis requirements. Writeback supports long and wide formats, with optional change capture to store only modified records.

* **Long** — Stores each cell as a separate row.

<figure><img src="https://257222532-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUtolck8kt8atqxFPsEBn%2Fuploads%2F2PCMagCaOrcuUJaFEGst%2Fimage.png?alt=media&amp;token=ec4451db-37f8-4779-b6af-01a4a38e19b3" alt=""><figcaption></figcaption></figure>

* **Wide** — Stores each measure from the planning sheet as a separate column in the database.

<figure><img src="https://257222532-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUtolck8kt8atqxFPsEBn%2Fuploads%2FCWc7wb1ACnvmODQvf7rL%2Fimage.png?alt=media&amp;token=1849999b-69bb-411b-859e-4d75f3ca517c" alt=""><figcaption></figcaption></figure>

* **Long with changes** — Stores change history for each cell, with each change stored as a separate row. Writes back only changed cells.
* **Wide with changes** — Stores change history, with each measure from the planning sheet stored as a separate column in the database. Writes back only changed records.

### Enable automatic writeback <a href="#enable-automatic-writeback" id="enable-automatic-writeback"></a>

Automatically write back changes as soon as existing planning data is updated or new data is entered. Auto-writeback eliminates the need for users to manually trigger writeback, ensuring that the destination stays synchronized with the latest planning data. This feature keeps data current and minimizes the risk of unsaved changes.

### Capture comments with writeback data <a href="#capture-comments-with-writeback-data" id="capture-comments-with-writeback-data"></a>

Capture row- or cell-level comments along with writeback data to provide context for planning inputs and changes. Users can add comments to explain assumptions, document decisions, or provide more information. The comments are written back with the corresponding data.

### Select measures to write back <a href="#select-measures-to-write-back" id="select-measures-to-write-back"></a>

Choose the measures to write back at runtime to control which data is saved. This selection allows a single writeback configuration to support different reporting or planning scenarios without requiring separate configurations for each set of measures.

### Filter writeback data <a href="#filter-writeback-data" id="filter-writeback-data"></a>

Write back a filtered subset of data dynamically at runtime. Control which data is included in writeback by applying custom filters or using built-in filtering options. Filter writeback data based on specific requirements, such as including only calculated rows or records with comments. This flexibility helps you decide which data to save to the writeback destination.

### Writeback column validation <a href="#writeback-column-validation" id="writeback-column-validation"></a>

Enforce data quality constraints before data is written back to your target destination.

* Can't be empty: Exclude null or empty cells so only valid data points are written back.
* Formula validation: Apply specific rules (for example, `Value > 500M` or cross-filtering conditions) to automatically exclude noncompliant cells.
* Prevent writeback: Stop the entire writeback process if any cell fails validation or contains empty fields, generating an exception log instead.

### Scenarios in writeback <a href="#scenarios-in-writeback" id="scenarios-in-writeback"></a>

Scenarios allow you to create and compare alternative versions of plans (such as base, optimistic, and pessimistic) without overwriting original baseline data.

When configuring data writeback settings, you can control which specific scenarios get committed to your database or destination. You can select or clear specific scenarios to write back. This granular control helps you decide whether draft or experimental scenarios remain local in the planning sheet or get persisted back to the Fabric SQL database.

<figure><img src="https://257222532-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUtolck8kt8atqxFPsEBn%2Fuploads%2FDLPvkSooXEAcpvEIKe20%2Fimage.png?alt=media&amp;token=73328cb0-1619-488e-a3f5-c8dddf1288b6" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.fabricplan.com/planning-sheets/concepts/writeback.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
