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
최근 소스 활동
2026년 3월 22일 12:32
감지된 SKILL.md 언어
영어
스타
18
포크
14

설치 방법

기본적으로 소스를 먼저 확인하는 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에서 보기