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.

Ir a la instalación

Datos de origen

Repositorio
JardarIversen/ainm-2026
Última actividad en el origen
22 de marzo de 2026 a las 12:32
Idioma detectado de SKILL.md
inglés
Estrellas
18
Forks
14

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
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.
Ver en GitHub