{
  "schemaVersion": "1.0",
  "item": {
    "slug": "akaunting",
    "name": "Akaunting",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/liekzejaws/akaunting",
    "canonicalUrl": "https://clawhub.ai/liekzejaws/akaunting",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/akaunting",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=akaunting",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "assets/docker-compose.yml",
      "references/api.md",
      "scripts/akaunting.py",
      "scripts/fix_event_listener.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/akaunting"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/akaunting",
    "agentPageUrl": "https://openagent3.xyz/skills/akaunting/agent",
    "manifestUrl": "https://openagent3.xyz/skills/akaunting/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/akaunting/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Akaunting Skill",
        "body": "CLI and API integration for Akaunting, a free open-source accounting platform."
      },
      {
        "title": "Quick Start",
        "body": "# Test connection\nakaunting ping\n\n# List data\nakaunting accounts\nakaunting categories  \nakaunting transactions\n\n# Create transactions\nakaunting income --amount 100 --category Sales --description \"Payment received\"\nakaunting expense --amount 50 --category Other --description \"Office supplies\""
      },
      {
        "title": "1. Deploy Akaunting",
        "body": "# Use the provided docker-compose\ncp skills/akaunting/assets/docker-compose.yml ~/akaunting/\ncd ~/akaunting && docker compose up -d\n\nAccess web UI at http://YOUR_IP:8080 and complete the setup wizard."
      },
      {
        "title": "2. Apply Required Fix",
        "body": "Critical: Akaunting has a bug where module event listeners don't auto-register. Run:\n\npython3 skills/akaunting/scripts/fix_event_listener.py\n\nOr manually add to /var/www/html/app/Providers/Event.php in the $listen array:\n\n'App\\Events\\Module\\PaymentMethodShowing' => [\n    'Modules\\OfflinePayments\\Listeners\\ShowAsPaymentMethod',\n],"
      },
      {
        "title": "3. Configure Credentials",
        "body": "mkdir -p ~/.config/akaunting\ncat > ~/.config/akaunting/config.json << EOF\n{\n  \"url\": \"http://YOUR_IP:8080\",\n  \"email\": \"your@email.com\",\n  \"password\": \"your-password\"\n}\nEOF\n\nOr set environment variables: AKAUNTING_URL, AKAUNTING_EMAIL, AKAUNTING_PASSWORD"
      },
      {
        "title": "CLI Commands",
        "body": "CommandDescriptionakaunting pingTest API connectionakaunting accountsList bank accountsakaunting categories [--type income|expense]List categoriesakaunting transactions [--type income|expense]List transactionsakaunting itemsList products/servicesakaunting income --amount X --category YCreate incomeakaunting expense --amount X --category YCreate expenseakaunting item --name X --price YCreate item\n\nAdd --json to any command for JSON output."
      },
      {
        "title": "API Reference",
        "body": "See references/api.md for full endpoint documentation."
      },
      {
        "title": "Key Endpoints",
        "body": "GET /api/ping - Health check\nGET/POST /api/accounts - Bank accounts\nGET/POST /api/categories - Income/expense categories\nGET/POST /api/transactions - Income/expense records\nGET/POST /api/items - Products/services\n\nAuthentication: HTTP Basic Auth with user email/password. User needs read-api permission (Admin role has this by default)."
      },
      {
        "title": "Troubleshooting",
        "body": "\"Payment method is invalid\" error:\nThe event listener fix wasn't applied. Run fix_event_listener.py.\n\n401 Unauthorized:\nCheck credentials in config.json. User must have API access permission.\n\n403 Forbidden on contacts/documents:\nUser needs additional permissions for these endpoints."
      }
    ],
    "body": "Akaunting Skill\n\nCLI and API integration for Akaunting, a free open-source accounting platform.\n\nQuick Start\n# Test connection\nakaunting ping\n\n# List data\nakaunting accounts\nakaunting categories  \nakaunting transactions\n\n# Create transactions\nakaunting income --amount 100 --category Sales --description \"Payment received\"\nakaunting expense --amount 50 --category Other --description \"Office supplies\"\n\nSetup\n1. Deploy Akaunting\n# Use the provided docker-compose\ncp skills/akaunting/assets/docker-compose.yml ~/akaunting/\ncd ~/akaunting && docker compose up -d\n\n\nAccess web UI at http://YOUR_IP:8080 and complete the setup wizard.\n\n2. Apply Required Fix\n\nCritical: Akaunting has a bug where module event listeners don't auto-register. Run:\n\npython3 skills/akaunting/scripts/fix_event_listener.py\n\n\nOr manually add to /var/www/html/app/Providers/Event.php in the $listen array:\n\n'App\\Events\\Module\\PaymentMethodShowing' => [\n    'Modules\\OfflinePayments\\Listeners\\ShowAsPaymentMethod',\n],\n\n3. Configure Credentials\nmkdir -p ~/.config/akaunting\ncat > ~/.config/akaunting/config.json << EOF\n{\n  \"url\": \"http://YOUR_IP:8080\",\n  \"email\": \"your@email.com\",\n  \"password\": \"your-password\"\n}\nEOF\n\n\nOr set environment variables: AKAUNTING_URL, AKAUNTING_EMAIL, AKAUNTING_PASSWORD\n\nCLI Commands\nCommand\tDescription\nakaunting ping\tTest API connection\nakaunting accounts\tList bank accounts\nakaunting categories [--type income|expense]\tList categories\nakaunting transactions [--type income|expense]\tList transactions\nakaunting items\tList products/services\nakaunting income --amount X --category Y\tCreate income\nakaunting expense --amount X --category Y\tCreate expense\nakaunting item --name X --price Y\tCreate item\n\nAdd --json to any command for JSON output.\n\nAPI Reference\n\nSee references/api.md for full endpoint documentation.\n\nKey Endpoints\nGET /api/ping - Health check\nGET/POST /api/accounts - Bank accounts\nGET/POST /api/categories - Income/expense categories\nGET/POST /api/transactions - Income/expense records\nGET/POST /api/items - Products/services\n\nAuthentication: HTTP Basic Auth with user email/password. User needs read-api permission (Admin role has this by default).\n\nTroubleshooting\n\n\"Payment method is invalid\" error: The event listener fix wasn't applied. Run fix_event_listener.py.\n\n401 Unauthorized: Check credentials in config.json. User must have API access permission.\n\n403 Forbidden on contacts/documents: User needs additional permissions for these endpoints."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/liekzejaws/akaunting",
    "publisherUrl": "https://clawhub.ai/liekzejaws/akaunting",
    "owner": "liekzejaws",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/akaunting",
    "downloadUrl": "https://openagent3.xyz/downloads/akaunting",
    "agentUrl": "https://openagent3.xyz/skills/akaunting/agent",
    "manifestUrl": "https://openagent3.xyz/skills/akaunting/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/akaunting/agent.md"
  }
}