Skip to main content

register-travel-expense

This skill should be used when the task asks to "register a travel expense", "enregistrez une note de frais", "registrer reiseregning", "registrer ein reisereknung", "registrar despesas de viagem", "registre una nota de gastos", "Reisekostenabrechnung erstellen", or involves creating a travel expense report with costs like flights, taxi, per diem, hotel, or mileage for an employee.

설치로 이동

소스 정보

저장소
JardarIversen/ainm-2026
최근 소스 활동
2026년 3월 22일 12:32
감지된 SKILL.md 언어
영어
스타
18
포크
14

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
register_travel_expense
tier
2
task
T13
description
This skill should be used when the task asks to "register a travel expense", "enregistrez une note de frais", "registrer reiseregning", "registrer ein reisereknung", "registrar despesas de viagem", "registre una nota de gastos", "Reisekostenabrechnung erstellen", or involves creating a travel expense report with costs like flights, taxi, per diem, hotel, or mileage for an employee.
# Register Travel Expense 8 calls. Correctness first — deliver, approve, AND create vouchers. ## Call 1: 3 parallel GETs ``` GET /employee?email=<email>&fields=id,firstName,lastName,email&count=5 GET /travelExpense/costCategory?fields=id,description&count=50 GET /travelExpense/paymentType?fields=id,description&count=10 ``` From costCategory response, match `description` exactly: - **"Fly"** — for flights - **"Taxi"** — for taxi - **"Reisekostnad, ikke oppgavepliktig"** — for per diem / daily allowance From paymentType response, use **"Privat utlegg"**. ## Call 2: POST travel expense with ALL costs inline Per diem amount = number of days × daily rate from the prompt (e.g. 4 days × 800 NOK = 3200 NOK). ```json POST /travelExpense { "employee": {"id": <employee_id>}, "title": "<trip title from prompt>", "travelDetails": { "departureDate": "<start date>", "departureTime": "08:00", "returnDate": "<end date>", "returnTime": "18:00", "departureFrom": "Oslo", "destination": "<destination from prompt>", "purpose": "<trip title>", "isDayTrip": false, "isForeignTravel": false }, "costs": [ { "costCategory": {"id": <fly_id>}, "date": "<departure date>", "amountNOKInclVAT": <flight_amount>, "amountCurrencyIncVat": <flight_amount>, "vatType": {"id": 0}, "currency": {"id": 1}, "paymentType": {"id": <privat_utlegg_id>} }, { "costCategory": {"id": <taxi_id>}, "date": "<departure date>", "amountNOKInclVAT": <taxi_amount>, "amountCurrencyIncVat": <taxi_amount>, "vatType": {"id": 0}, "currency": {"id": 1}, "paymentType": {"id": <privat_utlegg_id>} }, { "costCategory": {"id": <reisekostnad_id>}, "date": "<departure date>", "amountNOKInclVAT": <per_diem_total>, "amountCurrencyIncVat": <per_diem_total>, "vatType": {"id": 0}, "currency": {"id": 1}, "paymentType": {"id": <privat_utlegg_id>} } ] } ``` ## Call 3: Deliver + Approve + Create Vouchers (3 sequential PUTs) ``` PUT /travelExpense/:deliver?id=<travel_expense_id> ``` Then: ``` PUT /travelExpense/:approve?id=<travel_expense_id> ``` Then: ``` PUT /travelExpense/:createVouchers?id=<travel_expense_id>&date=<departure_date> ``` **Total: 8 calls (3 GETs + 1 POST + 3 PUTs), 4 write calls, 0 errors.** ## Gotchas - Per diem goes as regular cost with category **"Reisekostnad, ikke oppgavepliktig"** — NOT perDiemCompensations - Per diem amount = days × daily rate FROM THE PROMPT (e.g. "800 NOK" × 4 days = 3200) - Use `fields=id,description` on costCategory — never `fields=*` (truncation causes wrong IDs) - Never guess IDs — always match by `description` from the actual response - All 3 costs MUST be inline in the POST body — do NOT create costs separately - `departureFrom` and `purpose` are required — without them `:deliver` will fail - Must deliver THEN approve THEN createVouchers — in that order
GitHub에서 보기