diff --git a/apps/invoicexpress-portugal.mdx b/apps/invoicexpress-portugal.mdx deleted file mode 100644 index 1ea79743..00000000 --- a/apps/invoicexpress-portugal.mdx +++ /dev/null @@ -1,116 +0,0 @@ ---- -title: "InvoiceXpress Portugal" -description: "Submit certified invoices and periodic SAF-T data to Portugal’s Autoridade Tributária through InvoiceXpress" -keywords: ['portugal','at','saft','atcud','invoicexpress'] -mode: wide ---- - -import RegisterSupplier from '/snippets/workflows/pt/ix-register-supplier.mdx'; -import IssueInvoice from '/snippets/workflows/pt/ix-issue-invoice.mdx'; -import Supplier from '/snippets/suppliers/pt/ix-supplier.mdx'; -import B2BInvoice from '/snippets/invoices/pt/ix-b2b.mdx'; -import PortugalResources from '/snippets/tables/portugal-resources.mdx'; - -This app is only recommended for InvoiceXpress customers who wish to use GOBL to streamline their invoicing process. If you are getting started with your Portugal integration, use the [AT Portugal app](/apps/at-portugal) - - - - -
- - View implementation guide › - -
- - | | | - |-----------|----------------------------------------| - | Developer | [Invopop](https://invopop.com) | - | Category | Government | - | Scope | B2B, B2C | - | Country | [Portugal](/compliance/portugal) | -
- - Invopop's **InvoiceXpress Portugal app** is designed to support full compliance with Portugal’s AT e-invoicing regulation. Automate supplier onboarding, SAF-T report generation, invoice generation with ATCUD, and more. This app enables businesses (and their suppliers) to issue e-invoices in accordance with Portuguese law through InvoiceXpress. - - **Key Features** - - * **Workflow Automation:** This app provides automated workflows for issuing invoices, onboarding suppliers, and managing fiscal submissions to the Autoridade Tributária e Aduaneira (AT). - * **Legally Compliant PDF Invoices:** Invoices are generated with all mandatory fields and a certified ATCUD code, as required by the Portuguese invoicing legislation. - * **SAF-T (PT) File Generation:** The app makes workflow steps available to manage SAF-T (PT) entries for each supplier. - * **SAF-T supplier portal:** Suppliers can generate SAF-T PT reports via the [Supplier Portal](https://at-pt.invopop.com/portal). - * **Supplier Registration:** Automatic registration (no onboarding process) with a single workflow step. - - Make sure to check out our [InvoiceXpress Guide](/guides/countries/pt-invoicexpress) for instructions on how to issue invoices and onboard suppliers. - -
- - The following workflow actions will be available once you install and enable this app: - - -
3
- Process invoices using InvoiceXpress in Portugal. -
- - Set the state of an invoice previously sent to InvoiceXpress to "cancelled". - - - Register a GOBL party to issue invoices in InvoiceXpress. - - -
- - - - The following workflows are available to make your integration easier. Use them as templates to build upon. - - - - - - - - - - - - - - - - - - - - - - - - - - - Copy and paste these documents into the [GOBL builder](https://build.gobl.org) in order to preview and verify them. - -
- ---- - - - - - Frequently asked questions about invoicing compliance in Portugal → - - - - Ask and answer questions about the InvoiceXpress Portugal App → - diff --git a/assets/other/llms.txt b/assets/other/llms.txt index cea92637..077768d7 100644 --- a/assets/other/llms.txt +++ b/assets/other/llms.txt @@ -66,7 +66,6 @@ - [Google Drive](https://docs.invopop.com/apps/google-drive.md): Store your assets and data in Google Drive - [ILYDA Greece](https://docs.invopop.com/apps/ilyda-greece.md): Submit invoices to the Greek IAPR via the myDATA platform. - [Discover Invopop Apps](https://docs.invopop.com/apps/index.md): Explore Invopop apps that extend platform functionality with government integrations, third-party services, and workflow automation tools. -- [InvoiceXpress Portugal](https://docs.invopop.com/apps/invoicexpress-portugal.md): Submit certified invoices and periodic SAF-T data to Portugal’s Autoridade Tributária through InvoiceXpress - [KSeF Poland](https://docs.invopop.com/apps/ksef-poland.md): Submit FA_VAT invoices to Poland's KSeF system. - [NetSuite](https://docs.invopop.com/apps/netsuite.md): Generate legally compliant invoices from Netsuite - [OASIS UBL](https://docs.invopop.com/apps/oasis-ubl.md): Convert GOBL to the OASIS UBL format. @@ -141,7 +140,6 @@ - [Peppol Guide](https://docs.invopop.com/guides/peppol.md): How to issue and receive electronic invoices through the global Peppol network - [KSeF Poland Guide](https://docs.invopop.com/guides/pl-ksef.md): Generate and issue electronic invoices through Poland's KSeF system - [AT Portugal Guide](https://docs.invopop.com/guides/pt-at.md): Issue documents in Portugal using Invopop's certified implementation. -- [InvoiceXpress Guide](https://docs.invopop.com/guides/pt-invoicexpress.md): Issue invoices in Portugal using InvoiceXpress as a provider. - [Related Documents](https://docs.invopop.com/guides/related-docs.md): Configure linked documents using UUIDs. - [Series Guide](https://docs.invopop.com/guides/series.md): Learn how to create and use series to generate sequential codes for your documents. - [Slack](https://docs.invopop.com/guides/slack.md): Simple connection to Slack for sending messages. diff --git a/compliance/overview.mdx b/compliance/overview.mdx index a397f596..3d1a79f2 100644 --- a/compliance/overview.mdx +++ b/compliance/overview.mdx @@ -112,8 +112,8 @@ layout: wide | | | | | | --------------------- | --------------------- | ----------------------------- | ---------------------------- | | B2C | – | - | [PDF Invoice](/) | -| B2B | – | Jan 1, 2026 · ATCUD/QR | [AT Portugal](/apps/at-portugal)
[InvoiceXpress](/apps/invoicexpress-portugal) | -| B2G | – | Jan 1, 2026 · ATCUD/QR | [AT Portugal](/apps/at-portugal)
[InvoiceXpress](/apps/invoicexpress-portugal) | +| B2B | – | Jan 1, 2026 · ATCUD/QR | [AT Portugal](/apps/at-portugal) | +| B2G | – | Jan 1, 2026 · ATCUD/QR | [AT Portugal](/apps/at-portugal) |
🇷🇴 Romania
diff --git a/compliance/portugal.mdx b/compliance/portugal.mdx index 3dff251b..bb9f13fd 100644 --- a/compliance/portugal.mdx +++ b/compliance/portugal.mdx @@ -22,7 +22,7 @@ Portugal also requires **SAF-T (Standard Audit File for Tax)** reporting, an XML This article provides comprehensive guidance on [ATCUD/QR invoicing requirements](#ATCUDqr-b2b-b2g), [SAF-T reporting](#saft-pt-b2b-b2g), and [Portuguese invoicing regulations](#regulation). -Invopop provides comprehensive coverage for Portuguese invoicing through dedicated apps for AT Portugal and InvoiceXpress Portugal, as well as integrations with platforms like Stripe and Chargebee. This allows businesses to issue compliant ATCUD invoices efficiently and manage white-label (B2B2B) operations. +Invopop provides comprehensive coverage for Portuguese invoicing through its AT Portugal app, as well as integrations with platforms like Stripe and Chargebee. This allows businesses to issue compliant ATCUD invoices efficiently and manage white-label (B2B2B) operations. ## Invoicing in Portugal @@ -51,7 +51,7 @@ Although no format is required, all invoices must include ATCUD and a QR code. | **Model** | Centralized | | **Scope & Deadline** | All B2B invoices from **Jan 1, 2026** | | **Agency** | [AT Portugal](https://www.portaldasfinancas.gov.pt) | - | **Invopop Support** | [AT Portugal App](/apps/at-portugal)
[InvoiceXpress Portugal App](/apps/invoicexpress-portugal) (deprecated) | + | **Invopop Support** | [AT Portugal App](/apps/at-portugal) | diff --git a/console/doc-content.mdx b/console/doc-content.mdx index 8c3caa04..7cc73524 100644 --- a/console/doc-content.mdx +++ b/console/doc-content.mdx @@ -86,7 +86,7 @@ Best Practices: #### Meta Structured metadata and key-value pairs attached to the envelope that provide enhanced context: Examples: -- Regime Addons: `es-verifactu-v1`, `pt-invoicexpress-v1`. +- Regime Addons: `es-verifactu-v1`, `pt-saft-v4`. - Submission Protocols: `submission.protocol`, `ksef.hash`, `cfdi.uuid`. - Signature Fingerprints: `signature.sha256`, `chain.previous_hash`. - Workflow Tracking: `workflow.id`, `job.id`, `attempt`. diff --git a/docs.json b/docs.json index 6cce3e18..1188c5f6 100644 --- a/docs.json +++ b/docs.json @@ -306,10 +306,7 @@ ] }, "/guides/pl-ksef", - { - "group": "🇵🇹 Portugal", - "pages": ["/guides/pt-at", "/guides/pt-invoicexpress"] - }, + "/guides/pt-at", { "group": "🇪🇸 Spain", "pages": [ @@ -380,7 +377,6 @@ "/apps/choruspro-france", "/apps/dian-colombia", "/apps/ilyda-greece", - "/apps/invoicexpress-portugal", "/apps/poland", "/apps/documentos-fiscais-electronicos-brazil", "/apps/sat-mexico", @@ -828,12 +824,20 @@ }, { "source": "/guides/countries/pt-invoicexpress", - "destination": "/guides/pt-invoicexpress" + "destination": "/guides/pt-at" + }, + { + "source": "/guides/pt-invoicexpress", + "destination": "/guides/pt-at" }, { "source": "/guides/countries/pt-at", "destination": "/guides/pt-at" }, + { + "source": "/apps/invoicexpress-portugal", + "destination": "/apps/at-portugal" + }, { "source": "/guides/countries/es-ticketbai", "destination": "/guides/es-ticketbai" diff --git a/faq/portugal.mdx b/faq/portugal.mdx index 15fb8a83..266038c3 100644 --- a/faq/portugal.mdx +++ b/faq/portugal.mdx @@ -11,9 +11,7 @@ sidebarTitle: "FAQ" 1. **SAF-T monthly export** – a single XML file including all documents for the month. This file is generated by the invoicing software and then uploaded manually to the AT portal, as there is no API available for submitting it automatically. 2. **Real-time transmission** – instead of a monthly file, each invoice is sent individually to the AT at the time of issuance, using the authority's API. - Whether one model or the other is used usually depends on the issuers accountant's preference (who typically upload the SAF-T monthly report should they choose that model) - If you're using our [InvoiceXpress solution](/apps/invoicexpress-portugal), then each supplier can configure SAF-T generation or real-time submission directly in the InvoiceXpress portal. - If instead you're using [our own certified solution](/apps/at-portugal), at this moment we support SAF-T generation. We will also enable real-time AT reporting as an alternative in Q4, 2025. + Whether one model or the other is used usually depends on the issuer's accountant's preference (who typically uploads the SAF-T monthly report should they choose that model). Invopop's [AT Portugal app](/apps/at-portugal) supports both reporting methods, so each supplier can pick the one that best fits their needs. @@ -45,28 +43,6 @@ sidebarTitle: "FAQ" -## InvoiceXpress - - - - -When you run the supplier registration workflow for a new supplier, you may get the following KO error: - -> An account for the provided tax ID code and name already exists under a different supplier UUID. The same tax code ID can be used with multiple suppliers as long as they have different names. - -#### What does this mean? - -InvoiceXpress allows you to register the same tax ID (_Número de Identificação Fiscal_) for multiple suppliers. This is useful if, for example, a single invoice issuer wants to segregate invoices by branch or location. In these cases, you can create multiple suppliers with the same tax ID but different names. - -However, there is a limitation in InvoiceXpress: you must provide a unique name for each supplier when registering a new account with the same tax ID. If InvoiceXpress detects that both the tax ID and the name match an existing account, it assumes you want to use the existing account instead of creating a new one. To prevent confusion, our system checks for this scenario and displays the error above if it occurs. - -**How to resolve this issue:** -- Make sure the `name` you provide for the new supplier is different from any existing supplier with the same tax ID in InvoiceXpress. -- The `supplier` UUID must also be unique for each supplier you register. - - - - This app is only recommended for InvoiceXpress customers who wish to use GOBL to streamline their invoicing process. If you are getting started with your Portugal integration, use the [AT Portugal app](/apps/at-portugal) - -## Introduction - -Invopop partners with the local invoicing provider [InvoiceXpress](https://invoicexpress.com/) to issue invoices, invoice-receipts, and credit notes in Portugal and allow users to submit their tax reports (SAF-T) to the Portuguese tax authority (AT). - -This guide explains how to integrate with [InvoiceXpress](https://invoicexpress.com/), a Portuguese invoicing provider that enables you to: - -* Issue compliant invoices, invoice-receipts, and credit notes in Portugal. -* Submit tax reports (SAF-T) to the Portuguese tax authority (AT). -* Enable real-time tax reporting. - -For technical details and examples of Portuguese [GOBL](https://docs.gobl.org) documents, see the [GOBL Portugal Tax Regime documentation](https://github.com/invopop/gobl/blob/main/regimes/pt/README.md). - - - -| - | Sandbox | Live | -|---|---|---| -| **Supplier** | Real company details required | Real company details required | -| **Environment** | InvoiceXpress configured to use AT sandbox | Real AT | -| **Fiscal effect** | None; contact Invopop for setup | Yes | - -## Prerequisites -To issue invoices through InvoiceXpress, you'll need the following information: - -* Supplier Details, including: - * legal business name, - * tax ID (_Número de Identificação Fiscal_), - * complete business address, - * contact email address. - -* Invoice details, including: - * line item descriptions, - * quantities and unit prices, - * applicable Portuguese VAT rates. - -## Setup - -The integration requires three main components: - -1. InvoiceXpress app connection -2. Supplier registration workflow -3. Invoice processing workflow - -All of the following steps must be carried out from the [Invopop Console](https://console.invopop.com). - - - - - 1. Navigate to **Configuration** → **Apps**. - 2. Find **InvoiceXpress Portugal** in the app discovery list. - 3. Click **Connect** to activate. - - - - - - - - Issues a registration request for a supplier to complete. - - - - Copy and paste into a new [Empty Party workflow](https://console.invopop.com/redirect/workflows/new?template=empty-party) code view. - - - - Before starting, review the [workflows guide](/guides/features/workflows) to understand the general setup process. - - In [Console](https://console.invopop.com), create a new workflow and choose [Empty Party workflow](https://console.invopop.com/redirect/workflows/new?template=empty-party) as the base. Then name the workflow with a descriptive label such as "InvoiceXpress Register Supplier". - - The new workflow will need to perform three steps: - - * **Sign the Envelope** - Validates the document - * **Register InvoiceXpress issuer** - Creates supplier account - * **Set State** - Marks progress as `processing` - - Finally, in the Error Handling area, add the **Set State** action and select `Error`. - - Add any additional steps you may need, and save the new workflow. - - - - - - - - - - - This workflow will issue an invoice through InvoiceXpress. - - - - Copy and paste into a new [Empty Invoice workflow](https://console.invopop.com/redirect/workflows/new?template=empty-invoice) code view. - - - - Before starting, review the [workflows guide](/guides/features/workflows) to understand the general setup process. - - In [Console](https://console.invopop.com), create a new workflow and choose [Empty Invoice workflow](https://console.invopop.com/redirect/workflows/new?template=empty-invoice) as the base. Then name the workflow with a descriptive label such as "Send invoice to InvoiceXpress". - - The new workflow will need to perform these steps: - - * **Send to InvoiceXpress** - Transmits invoice data - * **Generate PDF** - Creates document (configure for your environment) - * **Set State** - Updates status to `Sent` - - - Finally, in the Error Handling area, add the **Set State** action and select `Error`. - - Add any additional steps you may need, and save the new workflow. - - - - - -## Running - -### Sandbox Environment - -InvoiceXpress provides a way to configure their accounts to use the AT's sandbox environment so that you can test the issuance of invoices and credit notes end-to-end without fiscal or legal consequences. If you wish to use this environment, please contact us via Slack or support@invopop.com and we will walk you through the setup process. - -### Supplier Onboarding - -InvoiceXpress supports multiple suppliers under one integration. Each supplier receives their own account for document issuance and tax reporting. - -Follow these steps to onboard a supplier: - - - - Send a [GOBL Party](https://docs.gobl.org/draft-0/org/party) document to your supplier registration workflow. The system will automatically: - - * Create an InvoiceXpress account - * Send login credentials to the supplier's email (first email in the `emails` list) - - Example GOBL Party document: - - - - - - The user invited to the new account will now have to log in to InvoiceXpress and complete the account's configuration. - - An account will be ready to issue invoices once a default sequence is registered. This guide from InvoiceXpress' documentation explains how to do it: - - [Sequence Registration Instructions (English)](https://invoicexpress.helpscoutdocs.com/article/50-create-new-serie) - - [Guia de Registro de Séries (Portuguese)](https://invoicexpress.helpscoutdocs.com/article/212-atcud-guia-passo-a-passo-para-criar-e-registar-series) - - **Important Notes:** - * You'll find a pre-created sequence in the account pending to be registered. You can register and use that one, or create a different one, as you prefer. - * In any case, you must ensure the sequence you want to use is the default one in the account. Currently, only the default series can be used to issue documents. - - - -### Send an invoice -Once configured, you can begin issuing documents: - -1. Create [GOBL Invoice](https://docs.gobl.org/draft-0/bill/invoice) documents following [PT regime specifications](https://github.com/invopop/gobl/blob/main/regimes/pt/README.md) -2. Send to your invoice processing workflow -3. Ensure the `supplier` UUID and Tax ID match the registered supplier details - -### Additional Features - -Suppliers can: -- Export SAF-T reports through InvoiceXpress UI -- Configure real-time tax reporting using this guide: [Portal das Finanças Integration Guide](https://invoicexpress.helpscoutdocs.com/article/92-como-crio-um-sub-utilizador-no-portal-das-financas) - ---- - - - - - Find answers to frequently asked questions about invoicing in Portugal → - - - - - Ask and answer questions about invoicing in Portugal → - diff --git a/snippets/invoices/pt/ix-b2b.mdx b/snippets/invoices/pt/ix-b2b.mdx deleted file mode 100644 index 1a61f90d..00000000 --- a/snippets/invoices/pt/ix-b2b.mdx +++ /dev/null @@ -1,126 +0,0 @@ -```json B2B Invoice -{ - "$schema": "https://gobl.org/draft-0/bill/invoice", - "$regime": "PT", - "uuid": "d9e9d28a-9c1d-3784-9a5b-1865eb2c231c", - "type": "standard", - "code": "FT IXTEST-01/1495", - "issue_date": "2024-09-10", - "currency": "EUR", - "tax": { - "prices_include": "VAT" - }, - "supplier": { - "uuid": "28437140-ce65-481a-a58c-9de1fc8dfedd", - "name": "Invopop Test Supplier", - "tax_id": { - "country": "PT", - "code": "508025338" - }, - "addresses": [ - { - "street": "R. António Enes n 8", - "locality": "Lisboa", - "region": "Lisboa", - "code": "1050-023", - "country": "PT" - } - ], - "emails": [ - { - "addr": "luismi.cavalle+cbtest@invopop.com" - } - ] - }, - "customer": { - "name": "Example Customer", - "tax_id": { - "country": "PT", - "code": "568380630" - }, - "addresses": [ - { - "street": "Avenida de França 168-178", - "locality": "Porto", - "region": "Porto", - "code": "4050-278", - "country": "PT" - } - ] - }, - "lines": [ - { - "i": 1, - "quantity": "1", - "item": { - "name": "Quick charge", - "price": "80.00" - }, - "sum": "80.00", - "taxes": [ - { - "cat": "VAT", - "rate": "standard", - "percent": "23.0%" - } - ], - "total": "80.00" - } - ], - "ordering": { - "period": { - "start": "2024-09-10", - "end": "2024-09-10" - } - }, - "payment": { - "terms": { - "due_dates": [ - { - "date": "2024-09-10", - "amount": "80.00", - "percent": "100%" - } - ] - }, - "advances": [ - { - "date": "2024-09-10", - "key": "card", - "description": "Card ending 5100", - "amount": "80.00", - "card": { - "last4": "5100" - } - } - ] - }, - "totals": { - "sum": "80.00", - "tax_included": "14.96", - "total": "65.04", - "taxes": { - "categories": [ - { - "code": "VAT", - "rates": [ - { - "key": "standard", - "base": "65.04", - "percent": "23.0%", - "amount": "14.96" - } - ], - "amount": "14.96" - } - ], - "sum": "14.96" - }, - "tax": "14.96", - "total_with_tax": "80.00", - "payable": "80.00", - "advance": "80.00", - "due": "0.00" - } -} -``` diff --git a/snippets/suppliers/pt/ix-supplier.mdx b/snippets/suppliers/pt/ix-supplier.mdx deleted file mode 100644 index 5a452ff7..00000000 --- a/snippets/suppliers/pt/ix-supplier.mdx +++ /dev/null @@ -1,23 +0,0 @@ -```json InvoiceXpress supplier example expandable - { - "$schema": "https://gobl.org/draft-0/org/party", - "uuid": "9de7584f-ea5c-42a7-b159-5e4c6a280a5c", - "tax_id": { - "country": "PT", - "code": "545259045" - }, - "name": "Hotelzinho", - "emails": [ - { - "addr": "maria@example.com" - } - ], - "addresses": [ - { - "street": "Rua do Hotelzinho", - "code": "1000-000", - "locality": "Lisboa" - } - ] - } -``` \ No newline at end of file diff --git a/snippets/workflows/pt/ix-issue-invoice.mdx b/snippets/workflows/pt/ix-issue-invoice.mdx deleted file mode 100644 index fd162c50..00000000 --- a/snippets/workflows/pt/ix-issue-invoice.mdx +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: "InvoiceXpress issue invoice" -description: "Issue an invoice in Portugal through InvoiceXpress" -countryCode: "pt" -appId: "invoicexpress" -schema: "bill/invoice" ---- - -```json Example InvoiceXpress issue invoice workflow -{ - "name": "InvoiceXpress issue invoice", - "description": "Issue an invoice in Portugal through InvoiceXpress", - "schema": "bill/invoice", - "steps": [ - { - "id": "61b16e10-b8c9-11ef-b752-d31a7493e92d", - "name": "Send to InvoiceXpress", - "provider": "invoicexpress", - "config": { - "skip_pdf": true - } - }, - { - "id": "2b65e8e0-2f21-11ef-803c-8d182b3d70cd", - "name": "Generate PDF", - "config": { - "logo_height": 40, - "locale": "pt", - "date_format": "%Y-%m-%d" - }, - "summary": "Portuguese", - "provider": "pdf" - }, - { - "id": "6a8f6740-49a1-11ef-8c8c-7bca04ed2465", - "name": "Set State", - "config": { - "state": "sent" - }, - "summary": "Set state to `sent`{.state .sent}", - "provider": "silo.state" - } - ], - "rescue": [ - { - "id": "6e7ea2d0-49a1-11ef-8c8c-7bca04ed2465", - "name": "Set State", - "config": { - "state": "error" - }, - "summary": "Set state to `error`{.state .error}", - "provider": "silo.state" - } - ] -} -``` \ No newline at end of file diff --git a/snippets/workflows/pt/ix-register-supplier.mdx b/snippets/workflows/pt/ix-register-supplier.mdx deleted file mode 100644 index f219e648..00000000 --- a/snippets/workflows/pt/ix-register-supplier.mdx +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: "InvoiceXpress register supplier" -description: "Register a supplier in Portugal" -countryCode: "pt" -appId: "invoicexpress" -schema: "org/party" ---- - -```json Example InvoiceXpress register supplier workflow -{ - "name": "InvoiceXpress register supplier", - "description": " ", - "schema": "org/party", - "steps": [ - { - "id": "e78ab920-b8be-11ef-9825-f56714a03659", - "name": "Sign Envelope", - "provider": "silo.close" - }, - { - "id": "01d3e8a0-499e-11ef-b4fe-47a6daefa429", - "name": "Set State", - "config": { - "state": "processing" - }, - "summary": "Set state to `processing`{.state .processing}", - "provider": "silo.state" - }, - { - "id": "dbac1680-b8be-11ef-9825-f56714a03659", - "name": "Register InvoiceXpress issuer", - "provider": "invoicexpress.register" - }, - { - "id": "0eb04c30-499e-11ef-b4fe-47a6daefa429", - "name": "Set State", - "config": { - "state": "registered" - }, - "summary": "Set state to `registered`{.state .registered}", - "provider": "silo.state" - } - ], - "rescue": [ - { - "id": "12ad6a70-499e-11ef-b4fe-47a6daefa429", - "name": "Set State", - "config": { - "state": "error" - }, - "summary": "Set state to `error`{.state .error}", - "provider": "silo.state" - } - ] -} -``` \ No newline at end of file