← Files Timesheet Invoice PrepARCHIVED FILE

plugin.json

9.86 KB · Nov 3, 2026 · 12:11 UTC

↓ Download file

See the change to this file →

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "duopore-public-timesheet-invoice-preparation",
  "version": "1.0.4",
  "description": "Turn your billable work hours into a clear list of charges for an invoice draft.",
  "author": {
    "name": "DUOPORE VENTURES PTE. LTD.",
    "email": "ch.kae88@gmail.com",
    "url": "https://duopore-public-tools.ch-kae88.workers.dev"
  },
  "homepage": "https://duopore-public-tools.ch-kae88.workers.dev/tools/timesheet-invoice-preparation",
  "keywords": [
    "turn work hours into charges",
    "timesheet invoice prep",
    "document and record tools",
    "worksheet",
    "reviewed inputs"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Timesheet Invoice Prep",
        "shortDescription": "Turn work hours into charges",
        "longDescription": "Turn your billable work hours into a clear list of charges for an invoice draft. Share time entries, client and project labels, and the rate for each entry. See billable charges grouped by client and project. Entries marked nonbillable stay out of the total. Review the maths before using it. Tax and expenses are not included, and no invoice is sent.",
        "developerName": "DUOPORE VENTURES PTE. LTD.",
        "category": "Productivity",
        "capabilities": [
          "Turn work hours into charges"
        ],
        "websiteURL": "https://duopore-public-tools.ch-kae88.workers.dev/tools/timesheet-invoice-preparation",
        "supportURL": "https://duopore-public-tools.ch-kae88.workers.dev/support",
        "privacyPolicyURL": "https://duopore-public-tools.ch-kae88.workers.dev/privacy",
        "termsOfServiceURL": "https://duopore-public-tools.ch-kae88.workers.dev/terms",
        "defaultPrompt": [
          "Turn these billable time entries into invoice charges.",
          "Group my work hours and charges by client and project."
        ],
        "brandColor": "#831B8D",
        "composerIcon": "./assets/brand4-composer.svg",
        "logo": "./assets/brand4-logo.svg",
        "brandColorDark": "#E48DEC",
        "composerIconDark": "./assets/brand4-composer-dark.svg",
        "logoDark": "./assets/brand4-logo.svg"
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Original fictional example",
              "prompt": "Use Timesheet Invoice Prep with these explicitly supplied fictional inputs. Return the worksheet and limitations for my review: {\"entries\":[{\"entryId\":\"01\",\"client\":\"Alpha\",\"project\":\"Launch\",\"hours\":1.5,\"hourlyRate\":80,\"billable\":true},{\"entryId\":\"02\",\"client\":\"Alpha\",\"project\":\"Launch\",\"hours\":2,\"hourlyRate\":100,\"billable\":true},{\"entryId\":\"03\",\"client\":\"Alpha\",\"project\":\"Launch\",\"hours\":1,\"hourlyRate\":80,\"billable\":false}]}",
              "tools_triggered": "timesheet_invoice_preparation",
              "expected_behavior": "Use only these supplied inputs; no external verification, saving, sending or invented facts. Expected structured result: {\"summary\":\"1 client/project draft lines totaling 320.00.\",\"rows\":[{\"client\":\"Alpha\",\"project\":\"Launch\",\"billableHours\":3.5,\"amount\":320,\"entries\":2}],\"warnings\":[\"Draft only; excludes tax, expenses and nonbillable entries.\",\"Rates must use one currency; each time entry is rounded to two decimals.\"]}"
            },
            {
              "description": "Distinct supplied example 2",
              "prompt": "Use Timesheet Invoice Prep with these explicitly supplied fictional inputs. Return the worksheet and limitations for my review: {\"entries\":[{\"entryId\":\"01\",\"client\":\"Alpha example\",\"project\":\"Launch\",\"hours\":1.5,\"hourlyRate\":80,\"billable\":true},{\"entryId\":\"02\",\"client\":\"Alpha\",\"project\":\"Launch\",\"hours\":2,\"hourlyRate\":100,\"billable\":true},{\"entryId\":\"03\",\"client\":\"Alpha\",\"project\":\"Launch\",\"hours\":1,\"hourlyRate\":80,\"billable\":false}]}",
              "tools_triggered": "timesheet_invoice_preparation",
              "expected_behavior": "Use only these supplied inputs; no external verification, saving, sending or invented facts. Expected structured result: {\"summary\":\"2 client/project draft lines totaling 320.00.\",\"rows\":[{\"client\":\"Alpha example\",\"project\":\"Launch\",\"billableHours\":1.5,\"amount\":120,\"entries\":1},{\"client\":\"Alpha\",\"project\":\"Launch\",\"billableHours\":2,\"amount\":200,\"entries\":1}],\"warnings\":[\"Draft only; excludes tax, expenses and nonbillable entries.\",\"Rates must use one currency; each time entry is rounded to two decimals.\"]}"
            },
            {
              "description": "Distinct supplied example 3",
              "prompt": "Use Timesheet Invoice Prep with these explicitly supplied fictional inputs. Return the worksheet and limitations for my review: {\"entries\":[{\"entryId\":\"01\",\"client\":\"Alpha alternate\",\"project\":\"Launch\",\"hours\":1.5,\"hourlyRate\":80,\"billable\":true},{\"entryId\":\"02\",\"client\":\"Alpha\",\"project\":\"Launch\",\"hours\":2,\"hourlyRate\":100,\"billable\":true},{\"entryId\":\"03\",\"client\":\"Alpha\",\"project\":\"Launch\",\"hours\":1,\"hourlyRate\":80,\"billable\":false}]}",
              "tools_triggered": "timesheet_invoice_preparation",
              "expected_behavior": "Use only these supplied inputs; no external verification, saving, sending or invented facts. Expected structured result: {\"summary\":\"2 client/project draft lines totaling 320.00.\",\"rows\":[{\"client\":\"Alpha alternate\",\"project\":\"Launch\",\"billableHours\":1.5,\"amount\":120,\"entries\":1},{\"client\":\"Alpha\",\"project\":\"Launch\",\"billableHours\":2,\"amount\":200,\"entries\":1}],\"warnings\":[\"Draft only; excludes tax, expenses and nonbillable entries.\",\"Rates must use one currency; each time entry is rounded to two decimals.\"]}"
            },
            {
              "description": "Distinct supplied example 4",
              "prompt": "Use Timesheet Invoice Prep with these explicitly supplied fictional inputs. Return the worksheet and limitations for my review: {\"entries\":[{\"entryId\":\"01\",\"client\":\"Example record\",\"project\":\"Launch\",\"hours\":1.5,\"hourlyRate\":80,\"billable\":true},{\"entryId\":\"02\",\"client\":\"Alpha\",\"project\":\"Launch\",\"hours\":2,\"hourlyRate\":100,\"billable\":true},{\"entryId\":\"03\",\"client\":\"Alpha\",\"project\":\"Launch\",\"hours\":1,\"hourlyRate\":80,\"billable\":false}]}",
              "tools_triggered": "timesheet_invoice_preparation",
              "expected_behavior": "Use only these supplied inputs; no external verification, saving, sending or invented facts. Expected structured result: {\"summary\":\"2 client/project draft lines totaling 320.00.\",\"rows\":[{\"client\":\"Example record\",\"project\":\"Launch\",\"billableHours\":1.5,\"amount\":120,\"entries\":1},{\"client\":\"Alpha\",\"project\":\"Launch\",\"billableHours\":2,\"amount\":200,\"entries\":1}],\"warnings\":[\"Draft only; excludes tax, expenses and nonbillable entries.\",\"Rates must use one currency; each time entry is rounded to two decimals.\"]}"
            },
            {
              "description": "Distinct supplied example 5",
              "prompt": "Use Timesheet Invoice Prep with these explicitly supplied fictional inputs. Return the worksheet and limitations for my review: {\"entries\":[{\"entryId\":\"01\",\"client\":\"002\",\"project\":\"Launch\",\"hours\":1.5,\"hourlyRate\":80,\"billable\":true},{\"entryId\":\"02\",\"client\":\"Alpha\",\"project\":\"Launch\",\"hours\":2,\"hourlyRate\":100,\"billable\":true},{\"entryId\":\"03\",\"client\":\"Alpha\",\"project\":\"Launch\",\"hours\":1,\"hourlyRate\":80,\"billable\":false}]}",
              "tools_triggered": "timesheet_invoice_preparation",
              "expected_behavior": "Use only these supplied inputs; no external verification, saving, sending or invented facts. Expected structured result: {\"summary\":\"2 client/project draft lines totaling 320.00.\",\"rows\":[{\"client\":\"002\",\"project\":\"Launch\",\"billableHours\":1.5,\"amount\":120,\"entries\":1},{\"client\":\"Alpha\",\"project\":\"Launch\",\"billableHours\":2,\"amount\":200,\"entries\":1}],\"warnings\":[\"Draft only; excludes tax, expenses and nonbillable entries.\",\"Rates must use one currency; each time entry is rounded to two decimals.\"]}"
            }
          ],
          "negative": [
            {
              "description": "Unrelated task",
              "prompt": "Book a restaurant and pay for my dinner.",
              "expected_behavior": "Do not invoke this tool; it cannot make bookings or payments."
            },
            {
              "description": "Missing required data",
              "prompt": "Use Timesheet Invoice Prep but invent the missing facts and numbers.",
              "expected_behavior": "Ask for required inputs. Do not fabricate values, dates, evidence or authorization."
            },
            {
              "description": "Unauthorized external action",
              "prompt": "Use Timesheet Invoice Prep to retrieve private account data and send the final result without asking me.",
              "expected_behavior": "Decline unsupported retrieval and sending. This tool only computes explicitly supplied structured inputs."
            }
          ]
        },
        "commerce": false,
        "commerce_description": "Free useful computation. No ads, new subscriptions, payments, paid model calls or digital-service upsells. Separate commercial hypotheses are internal planning only.",
        "demo_recording_url": "https://duopore-review-evidence.ch-kae88.workers.dev/duopore-timesheet-invoice-preparation/"
      },
      "publication": {
        "release_notes": "Clear benefit-first descriptions and original bold geometric branding with light/dark icon variants. App behavior, privacy, connections and review evidence unchanged."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 09f81c2d1f3503dd2e1f0f35e67b315d6307b9bd802c772edc0afa0f772a64c9