Skip to main content

project-billing

This skill should be used when the task asks to "set a fixed price on a project and invoice", "facturez un pourcentage du prix fixe", "fakturer ein prosentdel av fastprisen", "invoice a milestone payment", "bill the client for project work", "Festpreis festlegen und Meilensteinzahlung", or involves setting a fixed price on an existing project and invoicing a percentage of it as a milestone or progress payment.

الانتقال إلى التثبيت

معلومات المصدر

المستودع
JardarIversen/ainm-2026
آخر نشاط في المصدر
٢٢ مارس ٢٠٢٦ في ١٢:٣٢
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
١٨
التفرعات
١٤

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
project_billing
tier
2
task
T15
description
This skill should be used when the task asks to "set a fixed price on a project and invoice", "facturez un pourcentage du prix fixe", "fakturer ein prosentdel av fastprisen", "invoice a milestone payment", "bill the client for project work", "Festpreis festlegen und Meilensteinzahlung", or involves setting a fixed price on an existing project and invoicing a percentage of it as a milestone or progress payment.
# Project Fixed Price + Milestone Invoicing The project and customer PRE-EXIST. Search — NEVER create. **5 calls, 3 writes, 0 errors.** ## Call 1: Find Project + Find Bank Account (2 GETs — free, parallel) ``` GET /project?name=<project_name>&fields=id,name,customer(id)&count=5 GET /ledger/account?number=1920&fields=id,number,bankAccountNumber,isBankAccount ``` From project: extract `project.id` and `project.customer.id`. From account: extract the account `id` for account 1920. ## Call 2: Update Project + Set Bank Account (2 WRITEs — parallel) Calculate milestone_amount = percentage × fixedprice (e.g. 50% × 342600 = 171300). ```json PUT /project/<project_id> { "id": <project_id>, "name": "<project name>", "isFixedPrice": true, "fixedprice": <total_fixed_price>, "invoiceOnAccountVatHigh": true } ``` ```json PUT /ledger/account/<account_id> { "id": <account_id>, "name": "Bankinnskudd", "number": 1920, "bankAccountNumber": "86011117947", "isBankAccount": true } ``` ## Call 3: Create Invoice (1 WRITE) ```json POST /invoice { "invoiceDate": "<today>", "invoiceDueDate": "<today + 14 days>", "orders": [{ "customer": {"id": <customer_id>}, "project": {"id": <project_id>}, "orderDate": "<today>", "deliveryDate": "<today>", "invoiceOnAccountVatHigh": true, "orderLines": [{ "description": "Milestone <percentage>%", "unitPriceExcludingVatCurrency": <milestone_amount>, "vatType": {"id": 3}, "count": 1 }] }] } ``` **Total: 5 calls (2 GETs free + 3 writes), 0 errors. Done.** ## STRICT RULES - **Project PRE-EXISTS** — search by name, NEVER create a new project - `invoiceOnAccountVatHigh: true` on BOTH the project PUT AND the inline order - milestone_amount = percentage × fixedprice from the prompt - vatType `{"id": 3}` = output VAT 25% — REQUIRED on order lines - Bank number is EXACTLY `86011117947` — do NOT use any other number - Do NOT call PUT /:send — prompt never asks to send the invoice - Use today's date for all date fields - After the POST /invoice succeeds, STOP. Do not make any more calls.
عرض على GitHub