← Files Moloni ONARCHIVED FILE

plugin.json

7.36 KB · Nov 9, 2026 · 18:08 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "moloni-on",
  "version": "0.1.0",
  "description": "Work on your Moloni ON invoicing from ChatGPT: look up customers, products and stock, create draft documents, check unpaid invoices and get sales totals.",
  "author": {
    "name": "Moloni",
    "email": "apoio@molonion.pt",
    "url": "https://www.molonion.pt"
  },
  "homepage": "https://docs.molonion.pt/guides/mcp",
  "keywords": [
    "invoicing",
    "faturacao",
    "portugal",
    "accounting",
    "erp",
    "moloni"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Moloni ON",
        "shortDescription": "Invoicing for Portugal",
        "longDescription": "Moloni ON is online invoicing and management software for businesses in Portugal. This plugin connects ChatGPT to your Moloni ON account so you can work on your invoicing in plain language.\n\nWhat you can do:\n- Look up your customers, products and stock levels.\n- Create documents as drafts by naming the customer and the products: invoices, invoice-receipts, simplified invoices, credit notes, debit notes, estimates, pro-forma invoices, delivery notes and receipts.\n- Issue a draft after reviewing a summary and confirming.\n- See which invoices are unpaid and how much each customer owes.\n- Get sales totals by product or by period.\n- Email a document to its customer, or get a download link for its PDF.\n- Create customers and products after reviewing a preview and confirming.\n\nHow documents are handled: the plugin creates documents as unissued drafts and gives you a link to open each one in Moloni ON. You review the draft and issue it there, or ask the plugin to issue it, in which case it shows you a summary and asks you to confirm first.\n\nWho it is for: freelancers, small businesses and accountants in Portugal who use Moloni ON.\n\nSign-in: you sign in to Moloni ON in your browser through OAuth. If your account has several companies, the plugin asks which one to work in and keeps that choice for later conversations.",
        "developerName": "Moloni",
        "category": "Finance",
        "capabilities": [
          "List your companies and pick the one to work in",
          "Search customers and products, and check stock",
          "Create draft invoices, receipts, credit notes and estimates by naming the customer and products",
          "See unpaid invoices by customer",
          "Get sales totals by product or by period",
          "Email a document to its customer or get its PDF download link"
        ],
        "websiteURL": "https://www.molonion.pt",
        "supportURL": "https://www.molonion.pt/help",
        "privacyPolicyURL": "https://www.molonion.pt/legal/",
        "termsOfServiceURL": "https://www.molonion.pt/pdfs/pt/termsofuse",
        "defaultPrompt": [
          "Que faturas tenho por receber e de que clientes?",
          "Cria um rascunho de fatura para o cliente Padaria Central com 10 unidades de P\u00e3o de forma.",
          "Quanto vendi por produto no m\u00eas passado?"
        ],
        "composerIcon": "./assets/icon.png",
        "logo": "./assets/logo.svg"
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Lists the companies the signed-in user belongs to and shows which one is selected",
              "prompt": "Which Moloni ON companies do I have access to?",
              "tools_triggered": "company_list",
              "expected_behavior": "Returns the user's companies with the selected one marked. With one company it is selected automatically; with several, the assistant asks which one to use and calls company_select."
            },
            {
              "description": "Finds a customer by name and shows its details",
              "prompt": "Find the customer \"Padaria Central\" in Moloni ON and show me its VAT number and address.",
              "tools_triggered": "customer_list, customer_get",
              "expected_behavior": "Searches customers by name, then returns the matching customer's VAT number, address and contacts. Read-only; nothing is created."
            },
            {
              "description": "Creates an invoice as an unissued draft and returns the link to review it",
              "prompt": "Create an invoice for Padaria Central with 10 units of \"P\u00e3o de forma\".",
              "tools_triggered": "document_create",
              "expected_behavior": "Resolves the customer and product by name, inserts an invoice DRAFT (status forced to draft, nothing issued) and replies with the draft summary and the acUrl link to review and close it in Moloni ON. If the customer or product name is ambiguous, lists the candidates instead of guessing."
            },
            {
              "description": "Shows unpaid documents grouped by customer",
              "prompt": "Which invoices are still unpaid, and how much does each customer owe?",
              "tools_triggered": "sales_pending",
              "expected_behavior": "Returns the issued-but-unpaid documents grouped by customer with the outstanding totals. Read-only."
            },
            {
              "description": "Issuing a draft requires an explicit confirmation step",
              "prompt": "Now issue the draft invoice for Padaria Central that we just created.",
              "tools_triggered": "document_close",
              "expected_behavior": "The first call returns a preview of the irreversible action (document, customer, total) and the assistant asks the user to confirm. Only after the user confirms does it call document_close again with confirm:true, which issues the document."
            }
          ],
          "negative": [
            {
              "description": "The plugin does not issue a document in a single step; it creates drafts. The assistant creates the draft, explains that issuing needs a review and an explicit confirmation, and gives the link to the draft. It does not issue anything on this prompt.",
              "prompt": "Create an invoice for Padaria Central with 10 units of \"P\u00e3o de forma\" and issue it immediately, don't ask me anything."
            },
            {
              "description": "Deleting data is not something the plugin can do. No tool is called; the assistant says the plugin cannot delete customers and points the user to Moloni ON.",
              "prompt": "Delete the customer Padaria Central from Moloni ON."
            },
            {
              "description": "A request unrelated to invoicing must not trigger the plugin. No tool is called; ChatGPT answers on its own.",
              "prompt": "Write a short poem about Lisbon in autumn."
            }
          ]
        },
        "demo_recording_url": "https://drive.google.com/file/d/1nT0KV1zLuYxXtFJuUiFT0cxvcteZflXR/view?usp=sharing",
        "commerce": false,
        "commerce_description": "The plugin does not sell products or process payments. It manages the user's own invoicing records in their Moloni ON account."
      },
      "publication": {
        "countries": [],
        "release_notes": "First release. Company selection; customer, product, stock, tax and payment-method lookup; document creation as unissued drafts for all document types; confirm-gated document issuing and emailing; PDF download links; unpaid-documents and sales analysis. Sign-in is OAuth 2.1 with PKCE."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: dff6a38c6cbf104b9a9a02884b95ab936574d0d1395578654c9093d495324615