Fiken MCP by usefulapi
Read invoices, bills, contacts, ledger and bank balances; create drafts and contacts in Fiken.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"fiken": {
"url": "https://fiken.usefulapi.io/mcp"
}
}
}원격 엔드포인트
https://fiken.usefulapi.io/mcpstreamable-http할 수 있는 일
도구 목록
도구 (31)
🟢fiken_get_user
The Fiken user this connection acts as (name and email). A cheap check that the sign-in works. Fiken: GET /user.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fiken_list_companies(page, pageSize, sortBy)
The Fiken companies this connection can access, with their slug (needed as companySlug in every other tool), organization number and VAT type. Companies created after you approved access must be added under Fiken > Rediger konto > Sikkerhet > Apper du har gitt tilgang til. Fiken: GET /companies.
입력 스키마
{
"type": "object",
"properties": {
"page": {
"description": "Page number, starting at 0 (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"pageSize": {
"description": "Items per page, 1-100 (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"sortBy": {
"description": "Sort order (default name asc).",
"type": "string",
"enum": [
"createdDate asc",
"createdDate desc",
"name asc",
"name desc",
"organizationNumber asc",
"organizationNumber desc"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fiken_get_company(companySlug)
One company: name, organization number, VAT type, address, accounting start date and whether the API module is active. Fiken: GET /companies/{companySlug}.
입력 스키마
{
"type": "object",
"properties": {
"companySlug": {
"type": "string",
"minLength": 1,
"description": "The company's slug: the `slug` field from fiken_list_companies (for example swagger-test-company)."
}
},
"required": [
"companySlug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fiken_list_accounts(companySlug, page, pageSize, fromAccount, toAccount, ...)
The bookkeeping accounts (kontoplan) of the current year. Filter with range, e.g. "3000-3999, 1920". Fiken: GET /companies/{companySlug}/accounts.
입력 스키마
{
"type": "object",
"properties": {
"companySlug": {
"type": "string",
"minLength": 1,
"description": "The company's slug: the `slug` field from fiken_list_companies (for example swagger-test-company)."
},
"page": {
"description": "Page number, starting at 0 (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"pageSize": {
"description": "Items per page, 1-100 (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"fromAccount": {
"description": "First account number to include, e.g. 3000.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"toAccount": {
"description": "Last account number to include, e.g. 3999.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"range": {
"description": "Comma-separated account numbers or ranges, e.g. \"1000-1500, 2000, 7000-7004\".",
"type": "string"
}
},
"required": [
"companySlug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fiken_get_account_balances(companySlug, page, pageSize, date, fromAccount, ...)
Closing balance of every bookkeeping account on a date (amounts in cents). Fiken: GET /companies/{companySlug}/accountBalances.
입력 스키마
{
"type": "object",
"properties": {
"companySlug": {
"type": "string",
"minLength": 1,
"description": "The company's slug: the `slug` field from fiken_list_companies (for example swagger-test-company)."
},
"page": {
"description": "Page number, starting at 0 (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"pageSize": {
"description": "Items per page, 1-100 (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "The balance date (YYYY-MM-DD)."
},
"fromAccount": {
"description": "First account number to include.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"toAccount": {
"description": "Last account number to include.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"companySlug",
"date"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fiken_list_bank_accounts(companySlug, page, pageSize, inactive)
The company's bank accounts as registered in Fiken. Fiken: GET /companies/{companySlug}/bankAccounts.
입력 스키마
{
"type": "object",
"properties": {
"companySlug": {
"type": "string",
"minLength": 1,
"description": "The company's slug: the `slug` field from fiken_list_companies (for example swagger-test-company)."
},
"page": {
"description": "Page number, starting at 0 (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"pageSize": {
"description": "Items per page, 1-100 (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"inactive": {
"description": "true = only inactive bank accounts, false = only active ones.",
"type": "boolean"
}
},
"required": [
"companySlug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fiken_get_bank_balances(companySlug, page, pageSize, date)
Bank account balances, optionally on a given date (amounts in cents). Fiken: GET /companies/{companySlug}/bankBalances.
입력 스키마
{
"type": "object",
"properties": {
"companySlug": {
"type": "string",
"minLength": 1,
"description": "The company's slug: the `slug` field from fiken_list_companies (for example swagger-test-company)."
},
"page": {
"description": "Page number, starting at 0 (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"pageSize": {
"description": "Items per page, 1-100 (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"date": {
"description": "Balance date (YYYY-MM-DD).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
}
},
"required": [
"companySlug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fiken_list_contacts(companySlug, page, pageSize, name, organizationNumber, ...)
Customers and suppliers. Filter by name, organization number, email, customer/supplier flag or modification date. contactId in the result is the id other tools take as customerId/contactId. Fiken: GET /companies/{companySlug}/contacts.
입력 스키마
{
"type": "object",
"properties": {
"companySlug": {
"type": "string",
"minLength": 1,
"description": "The company's slug: the `slug` field from fiken_list_companies (for example swagger-test-company)."
},
"page": {
"description": "Page number, starting at 0 (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"pageSize": {
"description": "Items per page, 1-100 (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"name": {
"description": "Exact name.",
"type": "string"
},
"organizationNumber": {
"description": "Exact organization number.",
"type": "string"
},
"email": {
"description": "Exact email.",
"type": "string"
},
"customerNumber": {
"description": "Customer number.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"supplierNumber": {
"description": "Supplier number.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"customer": {
"description": "true = only customers.",
"type": "boolean"
},
"supplier": {
"description": "true = only suppliers.",
"type": "boolean"
},
"inactive": {
"description": "true = only inactive contacts, false = only active.",
"type": "boolean"
},
"group": {
"description": "Customer group, exact match.",
"type": "string"
},
"lastModifiedGe": {
"description": "Modified on or after (YYYY-MM-DD).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"sortBy": {
"description": "Sort order.",
"type": "string",
"enum": [
"lastModified asc",
"lastModified desc",
"createdDate asc",
"createdDate desc"
]
}
},
"required": [
"companySlug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fiken_get_contact(companySlug, contactId)
One customer or supplier with address, contact persons, notes and account codes. Fiken: GET /companies/{companySlug}/contacts/{contactId}.
입력 스키마
{
"type": "object",
"properties": {
"companySlug": {
"type": "string",
"minLength": 1,
"description": "The company's slug: the `slug` field from fiken_list_companies (for example swagger-test-company)."
},
"contactId": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The contactId from fiken_list_contacts."
}
},
"required": [
"companySlug",
"contactId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fiken_list_invoices(companySlug, page, pageSize, issueDateGe, issueDateLe, ...)
Issued (final) invoices with sale lines, amounts in cents and settled status. Filter by issue date, due date, customer and whether settled. Fiken: GET /companies/{companySlug}/invoices.
입력 스키마
{
"type": "object",
"properties": {
"companySlug": {
"type": "string",
"minLength": 1,
"description": "The company's slug: the `slug` field from fiken_list_companies (for example swagger-test-company)."
},
"page": {
"description": "Page number, starting at 0 (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"pageSize": {
"description": "Items per page, 1-100 (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"issueDateGe": {
"description": "Issued on or after (YYYY-MM-DD).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"issueDateLe": {
"description": "Issued on or before (YYYY-MM-DD).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"dueDateGe": {
"description": "Due on or after (YYYY-MM-DD).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"dueDateLe": {
"description": "Due on or before (YYYY-MM-DD).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"lastModifiedGe": {
"description": "Modified on or after (YYYY-MM-DD).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"customerId": {
"description": "Only invoices to this contactId.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"settled": {
"description": "true = only settled (paid) invoices, false = only unsettled ones.",
"type": "boolean"
},
"orderReference": {
"description": "Order reference.",
"type": "string"
}
},
"required": [
"companySlug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fiken_get_invoice(companySlug, invoiceId)
One issued invoice with lines, customer, amounts in cents, settled status and payment/credit-note links. Fiken: GET /companies/{companySlug}/invoices/{invoiceId}.
입력 스키마
{
"type": "object",
"properties": {
"companySlug": {
"type": "string",
"minLength": 1,
"description": "The company's slug: the `slug` field from fiken_list_companies (for example swagger-test-company)."
},
"invoiceId": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The invoiceId from fiken_list_invoices."
}
},
"required": [
"companySlug",
"invoiceId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fiken_list_invoice_drafts(companySlug, page, pageSize, orderReference, uuid)
Drafts of invoices, offers, order confirmations and credit notes that are not issued yet (a draft has a draftId, an invoice has an invoiceId). Fiken: GET /companies/{companySlug}/invoices/drafts.
입력 스키마
{
"type": "object",
"properties": {
"companySlug": {
"type": "string",
"minLength": 1,
"description": "The company's slug: the `slug` field from fiken_list_companies (for example swagger-test-company)."
},
"page": {
"description": "Page number, starting at 0 (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"pageSize": {
"description": "Items per page, 1-100 (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"orderReference": {
"description": "Order reference.",
"type": "string"
},
"uuid": {
"description": "The draft's UUID.",
"type": "string"
}
},
"required": [
"companySlug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fiken_list_credit_notes(companySlug, page, pageSize, issueDateGe, issueDateLe, ...)
Issued credit notes. Fiken: GET /companies/{companySlug}/creditNotes.
입력 스키마
{
"type": "object",
"properties": {
"companySlug": {
"type": "string",
"minLength": 1,
"description": "The company's slug: the `slug` field from fiken_list_companies (for example swagger-test-company)."
},
"page": {
"description": "Page number, starting at 0 (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"pageSize": {
"description": "Items per page, 1-100 (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"issueDateGe": {
"description": "Issued on or after (YYYY-MM-DD).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"issueDateLe": {
"description": "Issued on or before (YYYY-MM-DD).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"lastModifiedGe": {
"description": "Modified on or after (YYYY-MM-DD).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"customerId": {
"description": "Only credit notes to this contactId.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"settled": {
"description": "true = only settled, false = only unsettled.",
"type": "boolean"
}
},
"required": [
"companySlug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fiken_list_offers(companySlug, page, pageSize)
Issued offers (tilbud). Fiken: GET /companies/{companySlug}/offers.
입력 스키마
{
"type": "object",
"properties": {
"companySlug": {
"type": "string",
"minLength": 1,
"description": "The company's slug: the `slug` field from fiken_list_companies (for example swagger-test-company)."
},
"page": {
"description": "Page number, starting at 0 (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"pageSize": {
"description": "Items per page, 1-100 (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [
"companySlug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fiken_list_order_confirmations(companySlug, page, pageSize)
Issued order confirmations. Fiken: GET /companies/{companySlug}/orderConfirmations.
입력 스키마
{
"type": "object",
"properties": {
"companySlug": {
"type": "string",
"minLength": 1,
"description": "The company's slug: the `slug` field from fiken_list_companies (for example swagger-test-company)."
},
"page": {
"description": "Page number, starting at 0 (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"pageSize": {
"description": "Items per page, 1-100 (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [
"companySlug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fiken_list_products(companySlug, page, pageSize, name, productNumber, ...)
The product register with unit price in cents, income account and VAT type. productId is what an invoice-draft line takes. Fiken: GET /companies/{companySlug}/products.
입력 스키마
{
"type": "object",
"properties": {
"companySlug": {
"type": "string",
"minLength": 1,
"description": "The company's slug: the `slug` field from fiken_list_companies (for example swagger-test-company)."
},
"page": {
"description": "Page number, starting at 0 (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"pageSize": {
"description": "Items per page, 1-100 (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"name": {
"description": "Exact product name.",
"type": "string"
},
"productNumber": {
"description": "Exact product number (varenummer).",
"type": "string"
},
"active": {
"description": "true = only active products, false = only inactive.",
"type": "boolean"
},
"lastModifiedGe": {
"description": "Modified on or after (YYYY-MM-DD).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
}
},
"required": [
"companySlug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fiken_get_product(companySlug, productId)
One product. Fiken: GET /companies/{companySlug}/products/{productId}.
입력 스키마
{
"type": "object",
"properties": {
"companySlug": {
"type": "string",
"minLength": 1,
"description": "The company's slug: the `slug` field from fiken_list_companies (for example swagger-test-company)."
},
"productId": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The productId from fiken_list_products."
}
},
"required": [
"companySlug",
"productId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fiken_list_sales(companySlug, page, pageSize, dateGe, dateLe, ...)
Sales registered without an invoice (cash, card, Vipps and other direct sales), with amounts in cents. Fiken: GET /companies/{companySlug}/sales.
입력 스키마
{
"type": "object",
"properties": {
"companySlug": {
"type": "string",
"minLength": 1,
"description": "The company's slug: the `slug` field from fiken_list_companies (for example swagger-test-company)."
},
"page": {
"description": "Page number, starting at 0 (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"pageSize": {
"description": "Items per page, 1-100 (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"dateGe": {
"description": "Sale date on or after (YYYY-MM-DD).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"dateLe": {
"description": "Sale date on or before (YYYY-MM-DD).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"lastModifiedGe": {
"description": "Modified on or after (YYYY-MM-DD).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"saleNumber": {
"description": "Sale number.",
"type": "string"
},
"settled": {
"description": "true = only settled sales, false = only unsettled.",
"type": "boolean"
},
"contactId": {
"description": "Only sales to this contactId.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"companySlug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fiken_get_sale(companySlug, saleId)
One sale with lines, payments and settlement status. Fiken: GET /companies/{companySlug}/sales/{saleId}.
입력 스키마
{
"type": "object",
"properties": {
"companySlug": {
"type": "string",
"minLength": 1,
"description": "The company's slug: the `slug` field from fiken_list_companies (for example swagger-test-company)."
},
"saleId": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The saleId from fiken_list_sales."
}
},
"required": [
"companySlug",
"saleId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fiken_list_purchases(companySlug, page, pageSize, dateGe, dateLe, ...)
Purchases and supplier bills with amounts in cents and paid status. Fiken: GET /companies/{companySlug}/purchases.
입력 스키마
{
"type": "object",
"properties": {
"companySlug": {
"type": "string",
"minLength": 1,
"description": "The company's slug: the `slug` field from fiken_list_companies (for example swagger-test-company)."
},
"page": {
"description": "Page number, starting at 0 (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"pageSize": {
"description": "Items per page, 1-100 (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"dateGe": {
"description": "Purchase date on or after (YYYY-MM-DD).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"dateLe": {
"description": "Purchase date on or before (YYYY-MM-DD).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"lastModifiedGe": {
"description": "Modified on or after (YYYY-MM-DD).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"paid": {
"description": "true = only paid purchases, false = only unpaid.",
"type": "boolean"
},
"contactId": {
"description": "Only purchases from this supplier contactId.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"sortBy": {
"description": "Sort order.",
"type": "string",
"enum": [
"date asc",
"date desc"
]
}
},
"required": [
"companySlug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fiken_get_purchase(companySlug, purchaseId)
One purchase with lines, payments and attachments list. Fiken: GET /companies/{companySlug}/purchases/{purchaseId}.
입력 스키마
{
"type": "object",
"properties": {
"companySlug": {
"type": "string",
"minLength": 1,
"description": "The company's slug: the `slug` field from fiken_list_companies (for example swagger-test-company)."
},
"purchaseId": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The purchaseId from fiken_list_purchases."
}
},
"required": [
"companySlug",
"purchaseId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fiken_list_journal_entries(companySlug, page, pageSize, dateGe, dateLe, ...)
General-ledger journal entries (bilag) with their postings. Fiken: GET /companies/{companySlug}/journalEntries.
입력 스키마
{
"type": "object",
"properties": {
"companySlug": {
"type": "string",
"minLength": 1,
"description": "The company's slug: the `slug` field from fiken_list_companies (for example swagger-test-company)."
},
"page": {
"description": "Page number, starting at 0 (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"pageSize": {
"description": "Items per page, 1-100 (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"dateGe": {
"description": "Entry date on or after (YYYY-MM-DD).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"dateLe": {
"description": "Entry date on or before (YYYY-MM-DD).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"lastModifiedGe": {
"description": "Modified on or after (YYYY-MM-DD).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
}
},
"required": [
"companySlug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fiken_list_transactions(companySlug, page, pageSize, createdDateGe, createdDateLe, ...)
Ledger transactions (one per bookkeeping event) with their entries. Fiken: GET /companies/{companySlug}/transactions.
입력 스키마
{
"type": "object",
"properties": {
"companySlug": {
"type": "string",
"minLength": 1,
"description": "The company's slug: the `slug` field from fiken_list_companies (for example swagger-test-company)."
},
"page": {
"description": "Page number, starting at 0 (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"pageSize": {
"description": "Items per page, 1-100 (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"createdDateGe": {
"description": "Created on or after (YYYY-MM-DD).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"createdDateLe": {
"description": "Created on or before (YYYY-MM-DD).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"lastModifiedGe": {
"description": "Modified on or after (YYYY-MM-DD).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
}
},
"required": [
"companySlug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fiken_list_projects(companySlug, page, pageSize, completed, name)
Projects with number, name and completion status. Fiken: GET /companies/{companySlug}/projects.
입력 스키마
{
"type": "object",
"properties": {
"companySlug": {
"type": "string",
"minLength": 1,
"description": "The company's slug: the `slug` field from fiken_list_companies (for example swagger-test-company)."
},
"page": {
"description": "Page number, starting at 0 (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"pageSize": {
"description": "Items per page, 1-100 (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"completed": {
"description": "true = only completed projects, false = only open ones.",
"type": "boolean"
},
"name": {
"description": "Project name.",
"type": "string"
}
},
"required": [
"companySlug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fiken_list_time_entries(companySlug, page, pageSize, dateGe, dateLe, ...)
Registered hours (Fiken Timeføring). Fiken: GET /companies/{companySlug}/timeEntries.
입력 스키마
{
"type": "object",
"properties": {
"companySlug": {
"type": "string",
"minLength": 1,
"description": "The company's slug: the `slug` field from fiken_list_companies (for example swagger-test-company)."
},
"page": {
"description": "Page number, starting at 0 (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"pageSize": {
"description": "Items per page, 1-100 (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"dateGe": {
"description": "Date on or after (YYYY-MM-DD).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"dateLe": {
"description": "Date on or before (YYYY-MM-DD).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"projectId": {
"description": "Only this project.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"timeUserId": {
"description": "Only this time-tracking user.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"invoiced": {
"description": "true = only invoiced hours, false = only uninvoiced.",
"type": "boolean"
}
},
"required": [
"companySlug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fiken_list_inbox_documents(companySlug, page, pageSize, status, name, ...)
Documents waiting in the company's inbox (receipts and bills uploaded for bookkeeping). Fiken: GET /companies/{companySlug}/inbox.
입력 스키마
{
"type": "object",
"properties": {
"companySlug": {
"type": "string",
"minLength": 1,
"description": "The company's slug: the `slug` field from fiken_list_companies (for example swagger-test-company)."
},
"page": {
"description": "Page number, starting at 0 (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"pageSize": {
"description": "Items per page, 1-100 (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"status": {
"description": "Whether the document is already used for a posting.",
"type": "string",
"enum": [
"all",
"unused",
"used"
]
},
"name": {
"description": "File name.",
"type": "string"
},
"sortBy": {
"description": "Sort order.",
"type": "string",
"enum": [
"createdDate asc",
"createdDate desc",
"name asc",
"name desc"
]
}
},
"required": [
"companySlug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴fiken_create_contact(companySlug, name, email, organizationNumber, phoneNumber, ...)
Create a customer and/or supplier contact. Set customer=true to invoice it later. The new contactId comes back in `id`. Fiken: POST /companies/{companySlug}/contacts.
입력 스키마
{
"type": "object",
"properties": {
"companySlug": {
"type": "string",
"minLength": 1,
"description": "The company's slug: the `slug` field from fiken_list_companies (for example swagger-test-company)."
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Contact name."
},
"email": {
"description": "Email address.",
"type": "string",
"maxLength": 200
},
"organizationNumber": {
"description": "Brreg organization number.",
"type": "string",
"maxLength": 200
},
"phoneNumber": {
"description": "Phone number.",
"type": "string",
"maxLength": 20
},
"customer": {
"description": "true if the contact is a customer (needed before you can invoice it).",
"type": "boolean"
},
"supplier": {
"description": "true if the contact is a supplier.",
"type": "boolean"
},
"bankAccountNumber": {
"description": "Bank account number (11 digits).",
"type": "string",
"maxLength": 11
},
"currency": {
"description": "Default invoice currency, ISO 4217 (NOK, EUR, ...).",
"type": "string",
"pattern": "^[A-Z]{3}$"
},
"language": {
"description": "Language of documents sent to this contact.",
"type": "string",
"enum": [
"NORWEGIAN",
"ENGLISH"
]
},
"daysUntilInvoicingDueDate": {
"description": "Default days until the due date.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"discount": {
"description": "Default discount in percent.",
"type": "number",
"minimum": 0,
"maximum": 100
},
"address": {
"description": "Postal address.",
"type": "object",
"properties": {
"streetAddress": {
"type": "string"
},
"streetAddressLine2": {
"type": "string"
},
"city": {
"type": "string"
},
"postCode": {
"type": "string"
},
"country": {
"type": "string",
"description": "Country name as Fiken expects it, e.g. Norway (required in an address)."
}
},
"required": [
"country"
]
}
},
"required": [
"companySlug",
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴fiken_create_product(companySlug, name, unitPrice, incomeAccount, vatType, ...)
Add a product or service to the product register, for use on invoice lines. incomeAccount is a revenue account such as 3000 (see fiken_list_accounts). Fiken: POST /companies/{companySlug}/products.
입력 스키마
{
"type": "object",
"properties": {
"companySlug": {
"type": "string",
"minLength": 1,
"description": "The company's slug: the `slug` field from fiken_list_companies (for example swagger-test-company)."
},
"name": {
"type": "string",
"minLength": 1,
"description": "Product name."
},
"unitPrice": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Net unit price (excl. VAT), an integer in cents (100000 = 1000.00 kr)."
},
"incomeAccount": {
"type": "string",
"pattern": "^\\d{4}(:\\d{5})?$",
"description": "Revenue account that receives the income, e.g. 3000."
},
"vatType": {
"type": "string",
"enum": [
"NONE",
"HIGH",
"MEDIUM",
"RAW_FISH",
"LOW",
"EXEMPT_IMPORT_EXPORT",
"EXEMPT",
"OUTSIDE",
"EXEMPT_REVERSE"
],
"description": "VAT type, HIGH (25 %) is the most common."
},
"active": {
"default": true,
"description": "Whether the product is in use.",
"type": "boolean"
},
"productNumber": {
"description": "Your product number (varenummer).",
"type": "string"
},
"stock": {
"description": "Stock count.",
"type": "number"
},
"note": {
"description": "Note.",
"type": "string",
"maxLength": 200
}
},
"required": [
"companySlug",
"name",
"incomeAccount",
"vatType"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴fiken_create_invoice_draft(companySlug, type, customerId, daysUntilDueDate, issueDate, ...)
Create a DRAFT of an invoice, offer or order confirmation. A draft is not issued, not booked and not sent; it can be edited or deleted in Fiken. The draft's id comes back in `id`. To issue it use fiken_issue_invoice_from_draft (type invoice only). Amounts are integers in cents. Fiken: POST /companies/{companySlug}/invoices/drafts.
입력 스키마
{
"type": "object",
"properties": {
"companySlug": {
"type": "string",
"minLength": 1,
"description": "The company's slug: the `slug` field from fiken_list_companies (for example swagger-test-company)."
},
"type": {
"default": "invoice",
"description": "Kind of document the draft becomes.",
"type": "string",
"enum": [
"invoice",
"cash_invoice",
"offer",
"order_confirmation"
]
},
"customerId": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The contactId of the customer (a contact with customer=true)."
},
"daysUntilDueDate": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991,
"description": "Days from the issue date until the invoice is due."
},
"issueDate": {
"description": "Issue date, default today (YYYY-MM-DD).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"invoiceText": {
"description": "Text printed above the lines.",
"type": "string"
},
"yourReference": {
"description": "The customer's reference.",
"type": "string"
},
"ourReference": {
"description": "Your reference.",
"type": "string"
},
"orderReference": {
"description": "Order reference, needed for EHF.",
"type": "string"
},
"currency": {
"description": "ISO 4217 currency (default NOK).",
"type": "string",
"pattern": "^[A-Z]{3}$"
},
"bankAccountNumber": {
"description": "Bank account number to pay into.",
"type": "string"
},
"paymentAccount": {
"description": "Payment account code, e.g. 1920:10001.",
"type": "string"
},
"contactPersonId": {
"description": "Contact person id of the customer.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"projectId": {
"description": "Project id.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"lines": {
"minItems": 1,
"type": "array",
"items": {
"type": "object",
"properties": {
"productId": {
"description": "productId from fiken_list_products (supplies price, VAT and income account).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"description": {
"description": "Line description.",
"type": "string",
"maxLength": 200
},
"unitPrice": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Net price per unit, an integer in cents (100000 = 1000.00 kr)."
},
"quantity": {
"type": "number",
"description": "Number of units."
},
"vatType": {
"description": "VAT type (defaults from the product).",
"type": "string",
"enum": [
"NONE",
"HIGH",
"MEDIUM",
"RAW_FISH",
"LOW",
"EXEMPT_IMPORT_EXPORT",
"EXEMPT",
"OUTSIDE",
"EXEMPT_REVERSE"
]
},
"discount": {
"description": "Line discount in percent.",
"type": "number",
"minimum": 0,
"maximum": 100
},
"comment": {
"description": "Comment printed on the line.",
"type": "string",
"maxLength": 200
},
"incomeAccount": {
"description": "Income account, if the line has no product.",
"type": "string"
}
},
"required": [
"quantity"
]
},
"description": "The document lines."
}
},
"required": [
"companySlug",
"customerId",
"daysUntilDueDate",
"lines"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴fiken_issue_invoice_from_draft(companySlug, draftId)
IRREVERSIBLE. Turns an invoice draft into a real invoice: it gets the next invoice number and is booked in the ledger (accounts receivable and revenue, VAT). An issued invoice cannot be deleted, only corrected with a credit note. It is NOT sent to the customer: use fiken_send_invoice for that. Only call this when the user has clearly asked to issue this exact draft. Fiken: POST /companies/{companySlug}/invoices/drafts/{draftId}/createInvoice.
입력 스키마
{
"type": "object",
"properties": {
"companySlug": {
"type": "string",
"minLength": 1,
"description": "The company's slug: the `slug` field from fiken_list_companies (for example swagger-test-company)."
},
"draftId": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The draftId from fiken_list_invoice_drafts or fiken_create_invoice_draft."
}
},
"required": [
"companySlug",
"draftId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴fiken_send_invoice(companySlug, invoiceId, method, includeDocumentAttachments, recipientName, ...)
IRREVERSIBLE. Delivers an issued invoice to the customer by email, EHF, eFaktura, SMS or physical letter (a letter costs extra and goes to Norwegian addresses only). A sent message cannot be recalled and Fiken records the invoice as sent. Only call this when the user has clearly asked to send this exact invoice to this recipient. method lists delivery channels in priority order; Fiken uses the first one that works. Fiken: POST /companies/{companySlug}/invoices/send.
입력 스키마
{
"type": "object",
"properties": {
"companySlug": {
"type": "string",
"minLength": 1,
"description": "The company's slug: the `slug` field from fiken_list_companies (for example swagger-test-company)."
},
"invoiceId": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The invoiceId of an ISSUED invoice (from fiken_list_invoices)."
},
"method": {
"minItems": 1,
"type": "array",
"items": {
"type": "string",
"enum": [
"email",
"ehf",
"efaktura",
"sms",
"letter",
"auto"
]
},
"description": "Delivery channels in priority order, e.g. [\"email\"]. \"auto\" picks from what the customer has registered."
},
"includeDocumentAttachments": {
"default": true,
"description": "Include the invoice's attachments (not for letters).",
"type": "boolean"
},
"recipientName": {
"description": "Recipient name.",
"type": "string"
},
"recipientEmail": {
"description": "Recipient email (defaults to the customer's).",
"type": "string"
},
"message": {
"description": "Message sent along with the invoice.",
"type": "string"
},
"emailSendOption": {
"description": "How an email carries the invoice.",
"type": "string",
"enum": [
"document_link",
"attachment",
"auto"
]
},
"mergeInvoiceAndAttachments": {
"description": "Merge invoice and attachments into one PDF (with emailSendOption=attachment).",
"type": "boolean"
},
"organizationNumber": {
"description": "Recipient organization number (EHF); defaults to the customer's.",
"type": "string"
},
"mobileNumber": {
"description": "Recipient mobile number (SMS); defaults to the customer's.",
"type": "string"
}
},
"required": [
"companySlug",
"invoiceId",
"method"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}커뮤니티
증거