F-sąskaita MCP by usefulapi

Read invoices, expenses and PDFs; create invoices and record expenses in F-sąskaita.

사용해야 할까요

품질 및 안전성

A
설명 품질
98%
스키마 완전성
85%
이름 품질
78%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (1)

  • LOWTool 'fsaskaita_download_expense_file' name length outside 3-30 rangefsaskaita_download_expense_file에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~4,814토큰 (도구 정의)
~3.9 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 3.76%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "f-saskaita": {
      "url": "https://f-saskaita.usefulapi.io/mcp"
    }
  }
}

원격 엔드포인트

https://f-saskaita.usefulapi.io/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (12)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢fsaskaita_get_profile

Get the business that the token belongs to: name, business type, address, VAT code and company code. A good first call. GET /profile.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢fsaskaita_list_currencies

List the currency codes and titles that invoices and expenses accept. GET /currencies.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢fsaskaita_list_invoices(page)

List finalized invoices, newest first, 50 per page. Drafts made in the app are not included. The meta block gives current_page, last_page and total. GET /invoices.

입력 스키마

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, starting at 1. Each page holds 50 items.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢fsaskaita_get_invoice(invoice_id)

Get one invoice with its seller, buyer, lines (products), payment options, totals and share_link. GET /invoices/{invoice}.

입력 스키마

{
  "type": "object",
  "properties": {
    "invoice_id": {
      "type": "string",
      "minLength": 1,
      "description": "The UUID from a list or get tool."
    }
  },
  "required": [
    "invoice_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢fsaskaita_download_invoice_pdf(invoice_id)

Download the PDF of one invoice. Returns the file as base64 with its content type and file name. Files over 3 MB are refused. GET /invoices/{invoice}/download.

입력 스키마

{
  "type": "object",
  "properties": {
    "invoice_id": {
      "type": "string",
      "minLength": 1,
      "description": "The UUID from a list or get tool."
    }
  },
  "required": [
    "invoice_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢fsaskaita_list_expenses(page)

List expenses, newest first, 50 per page. Each item has date, total, currency, seller and timestamps. GET /expenses.

입력 스키마

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, starting at 1. Each page holds 50 items.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢fsaskaita_get_expense(expense_id)

Get one expense: date, total (with VAT), currency, seller and timestamps. The stored VAT and supplier invoice number are not returned. GET /expenses/{expense}.

입력 스키마

{
  "type": "object",
  "properties": {
    "expense_id": {
      "type": "string",
      "minLength": 1,
      "description": "The UUID from a list or get tool."
    }
  },
  "required": [
    "expense_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢fsaskaita_download_expense_file(expense_id)

Download the document file (receipt or invoice) of one expense. Returns the file as base64 with its content type and file name. Files over 3 MB are refused. GET /expenses/{expense}/download.

입력 스키마

{
  "type": "object",
  "properties": {
    "expense_id": {
      "type": "string",
      "minLength": 1,
      "description": "The UUID from a list or get tool."
    }
  },
  "required": [
    "expense_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴fsaskaita_create_invoice(type, invoice_date, pay_until_date, series, notes, ...)

WRITE: create and finalize a new invoice in the business. It takes a number, queues its PDF and fires the invoice.created webhook. Omit invoice_number to take the next number of the series. The call is NOT repeatable: after a network error, list invoices before you retry. POST /invoices.

입력 스키마

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "regular_invoice",
        "vat_invoice",
        "preliminary_invoice",
        "preliminary_vat_invoice",
        "credit_invoice",
        "credit_vat_invoice"
      ],
      "description": "Invoice type. The *vat_invoice types need vat_percentage on every line."
    },
    "invoice_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Issue date, yyyy-mm-dd."
    },
    "pay_until_date": {
      "description": "Due date, yyyy-mm-dd.",
      "anyOf": [
        {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
        },
        {
          "type": "null"
        }
      ]
    },
    "series": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255,
      "description": "Series code. A new code starts its own number counter."
    },
    "notes": {
      "description": "Free text printed under the lines.",
      "anyOf": [
        {
          "type": "string",
          "maxLength": 255
        },
        {
          "type": "null"
        }
      ]
    },
    "invoice_number": {
      "description": "Number within the series, unique there. Omit on create to auto-number.",
      "anyOf": [
        {
          "type": "string",
          "maxLength": 255
        },
        {
          "type": "null"
        }
      ]
    },
    "currency": {
      "type": "string",
      "minLength": 1,
      "description": "Currency code from fsaskaita_list_currencies, e.g. EUR."
    },
    "payment_status": {
      "description": "Defaults to not_paid on create.",
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "not_paid",
            "paid"
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "language": {
      "description": "Language of the PDF and share page. Defaults to lt.",
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "en",
            "lt",
            "es",
            "de",
            "fr",
            "pl"
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "buyer": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "company",
            "individual",
            "person"
          ],
          "description": "company or individual. person is a legacy alias of individual."
        },
        "company_name": {
          "description": "Required for companies; not allowed for individuals.",
          "anyOf": [
            {
              "type": "string",
              "maxLength": 255
            },
            {
              "type": "null"
            }
          ]
        },
        "company_code": {
          "description": "Company registration code; not allowed for individuals.",
          "anyOf": [
            {
              "type": "string",
              "maxLength": 255
            },
            {
              "type": "null"
            }
          ]
        },
        "first_name": {
          "description": "Required for individuals; not allowed for companies.",
          "anyOf": [
            {
              "type": "string",
              "maxLength": 255
            },
            {
              "type": "null"
            }
          ]
        },
        "last_name": {
          "description": "Required for individuals; not allowed for companies.",
          "anyOf": [
            {
              "type": "string",
              "maxLength": 255
            },
            {
              "type": "null"
            }
          ]
        },
        "individual_activity_id": {
          "description": "Individual activity certificate number; not allowed for companies.",
          "anyOf": [
            {
              "type": "string",
              "maxLength": 255
            },
            {
              "type": "null"
            }
          ]
        },
        "address": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 255
            },
            {
              "type": "null"
            }
          ]
        },
        "vat_code": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 255
            },
            {
              "type": "null"
            }
          ]
        },
        "email": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 255
            },
            {
              "type": "null"
            }
          ]
        },
        "phone": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 255
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "type"
      ]
    },
    "use_default_seller_info": {
      "description": "true copies the seller block from the business profile. Then omit seller.",
      "type": [
        "boolean",
        "null"
      ]
    },
    "seller": {
      "description": "Required unless use_default_seller_info is true.",
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "company_name": {
              "description": "Companies only.",
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 255
                },
                {
                  "type": "null"
                }
              ]
            },
            "company_code": {
              "description": "Companies only.",
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 255
                },
                {
                  "type": "null"
                }
              ]
            },
            "first_name": {
              "description": "Individual activities only.",
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 255
                },
                {
                  "type": "null"
                }
              ]
            },
            "last_name": {
              "description": "Individual activities only.",
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 255
                },
                {
                  "type": "null"
                }
              ]
            },
            "individual_activity_id": {
              "description": "Individual activities only.",
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 255
                },
                {
                  "type": "null"
                }
              ]
            },
            "address": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 255
                },
                {
                  "type": "null"
                }
              ]
            },
            "vat_code": {
              "description": "Required for the *vat_invoice types.",
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 255
                },
                {
                  "type": "null"
                }
              ]
            },
            "email": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 255
                },
                {
                  "type": "null"
                }
              ]
            },
            "phone": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 255
                },
                {
                  "type": "null"
                }
              ]
            },
            "custom_fields": {
              "description": "Extra label/value pairs printed in the seller block.",
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "label": {
                        "type": "string",
                        "maxLength": 255
                      },
                      "value": {
                        "type": "string",
                        "maxLength": 255
                      }
                    },
                    "required": [
                      "label",
                      "value"
                    ]
                  }
                },
                {
                  "type": "null"
                }
              ]
            }
          }
        },
        {
          "type": "null"
        }
      ]
    },
    "products": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "units": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "Unit of measure, e.g. h, pcs."
          },
          "quantity": {
            "type": "number"
          },
          "price": {
            "description": "Unit price excluding VAT. Give exactly one of price, total, total_incl_vat.",
            "type": [
              "number",
              "null"
            ]
          },
          "total": {
            "description": "Line total excluding VAT. Give exactly one of price, total, total_incl_vat.",
            "type": [
              "number",
              "null"
            ]
          },
          "total_incl_vat": {
            "description": "Line total including VAT. Give exactly one of price, total, total_incl_vat.",
            "type": [
              "number",
              "null"
            ]
          },
          "vat_percentage": {
            "description": "VAT rate 0-100. Required on every line for the *vat_invoice types.",
            "anyOf": [
              {
                "type": "number",
                "minimum": 0,
                "maximum": 100
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "name",
          "units",
          "quantity"
        ]
      },
      "description": "Invoice lines, at least one."
    },
    "payment_options": {
      "description": "Payment details printed on the invoice.",
      "anyOf": [
        {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "bank",
                  "other"
                ],
                "description": "bank takes the bank fields; other takes free-form fields."
              },
              "bank_account": {
                "description": "IBAN. Required for bank; not allowed for other.",
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 255
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "bank_name": {
                "description": "Required for bank; not allowed for other.",
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 255
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "routing_or_sort_number": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 255
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "swift_bic_code": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 255
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "fields": {
                "description": "Required for other.",
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "label": {
                          "type": "string",
                          "maxLength": 255
                        },
                        "value": {
                          "type": "string",
                          "maxLength": 255
                        }
                      },
                      "required": [
                        "label",
                        "value"
                      ]
                    }
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "type"
            ]
          }
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "type",
    "invoice_date",
    "series",
    "currency",
    "buyer",
    "products"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴fsaskaita_update_invoice(invoice_id, type, invoice_date, pay_until_date, series, ...)

WRITE: replace EVERY field of an existing invoice with the values you send. Read the invoice first with fsaskaita_get_invoice and resend all of it. invoice_number is required: without it the invoice is renumbered. Lines, payment options and seller fields are rewritten and the PDF is regenerated. PUT /invoices/{invoice}.

입력 스키마

{
  "type": "object",
  "properties": {
    "invoice_id": {
      "type": "string",
      "minLength": 1,
      "description": "The UUID from a list or get tool."
    },
    "type": {
      "type": "string",
      "enum": [
        "regular_invoice",
        "vat_invoice",
        "preliminary_invoice",
        "preliminary_vat_invoice",
        "credit_invoice",
        "credit_vat_invoice"
      ],
      "description": "Invoice type. The *vat_invoice types need vat_percentage on every line."
    },
    "invoice_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Issue date, yyyy-mm-dd."
    },
    "pay_until_date": {
      "description": "Due date, yyyy-mm-dd.",
      "anyOf": [
        {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
        },
        {
          "type": "null"
        }
      ]
    },
    "series": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255,
      "description": "Series code. A new code starts its own number counter."
    },
    "notes": {
      "description": "Free text printed under the lines.",
      "anyOf": [
        {
          "type": "string",
          "maxLength": 255
        },
        {
          "type": "null"
        }
      ]
    },
    "invoice_number": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255,
      "description": "The current number of the invoice, e.g. 007 or 7. Always resend it."
    },
    "currency": {
      "type": "string",
      "minLength": 1,
      "description": "Currency code from fsaskaita_list_currencies, e.g. EUR."
    },
    "payment_status": {
      "description": "Defaults to not_paid on create.",
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "not_paid",
            "paid"
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "language": {
      "description": "Language of the PDF and share page. Defaults to lt.",
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "en",
            "lt",
            "es",
            "de",
            "fr",
            "pl"
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "buyer": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "company",
            "individual",
            "person"
          ],
          "description": "company or individual. person is a legacy alias of individual."
        },
        "company_name": {
          "description": "Required for companies; not allowed for individuals.",
          "anyOf": [
            {
              "type": "string",
              "maxLength": 255
            },
            {
              "type": "null"
            }
          ]
        },
        "company_code": {
          "description": "Company registration code; not allowed for individuals.",
          "anyOf": [
            {
              "type": "string",
              "maxLength": 255
            },
            {
              "type": "null"
            }
          ]
        },
        "first_name": {
          "description": "Required for individuals; not allowed for companies.",
          "anyOf": [
            {
              "type": "string",
              "maxLength": 255
            },
            {
              "type": "null"
            }
          ]
        },
        "last_name": {
          "description": "Required for individuals; not allowed for companies.",
          "anyOf": [
            {
              "type": "string",
              "maxLength": 255
            },
            {
              "type": "null"
            }
          ]
        },
        "individual_activity_id": {
          "description": "Individual activity certificate number; not allowed for companies.",
          "anyOf": [
            {
              "type": "string",
              "maxLength": 255
            },
            {
              "type": "null"
            }
          ]
        },
        "address": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 255
            },
            {
              "type": "null"
            }
          ]
        },
        "vat_code": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 255
            },
            {
              "type": "null"
            }
          ]
        },
        "email": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 255
            },
            {
              "type": "null"
            }
          ]
        },
        "phone": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 255
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "type"
      ]
    },
    "use_default_seller_info": {
      "description": "true copies the seller block from the business profile. Then omit seller.",
      "type": [
        "boolean",
        "null"
      ]
    },
    "seller": {
      "description": "Required unless use_default_seller_info is true.",
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "company_name": {
              "description": "Companies only.",
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 255
                },
                {
                  "type": "null"
                }
              ]
            },
            "company_code": {
              "description": "Companies only.",
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 255
                },
                {
                  "type": "null"
                }
              ]
            },
            "first_name": {
              "description": "Individual activities only.",
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 255
                },
                {
                  "type": "null"
                }
              ]
            },
            "last_name": {
              "description": "Individual activities only.",
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 255
                },
                {
                  "type": "null"
                }
              ]
            },
            "individual_activity_id": {
              "description": "Individual activities only.",
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 255
                },
                {
                  "type": "null"
                }
              ]
            },
            "address": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 255
                },
                {
                  "type": "null"
                }
              ]
            },
            "vat_code": {
              "description": "Required for the *vat_invoice types.",
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 255
                },
                {
                  "type": "null"
                }
              ]
            },
            "email": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 255
                },
                {
                  "type": "null"
                }
              ]
            },
            "phone": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 255
                },
                {
                  "type": "null"
                }
              ]
            },
            "custom_fields": {
              "description": "Extra label/value pairs printed in the seller block.",
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "label": {
                        "type": "string",
                        "maxLength": 255
                      },
                      "value": {
                        "type": "string",
                        "maxLength": 255
                      }
                    },
                    "required": [
                      "label",
                      "value"
                    ]
                  }
                },
                {
                  "type": "null"
                }
              ]
            }
          }
        },
        {
          "type": "null"
        }
      ]
    },
    "products": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "units": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "Unit of measure, e.g. h, pcs."
          },
          "quantity": {
            "type": "number"
          },
          "price": {
            "description": "Unit price excluding VAT. Give exactly one of price, total, total_incl_vat.",
            "type": [
              "number",
              "null"
            ]
          },
          "total": {
            "description": "Line total excluding VAT. Give exactly one of price, total, total_incl_vat.",
            "type": [
              "number",
              "null"
            ]
          },
          "total_incl_vat": {
            "description": "Line total including VAT. Give exactly one of price, total, total_incl_vat.",
            "type": [
              "number",
              "null"
            ]
          },
          "vat_percentage": {
            "description": "VAT rate 0-100. Required on every line for the *vat_invoice types.",
            "anyOf": [
              {
                "type": "number",
                "minimum": 0,
                "maximum": 100
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "name",
          "units",
          "quantity"
        ]
      },
      "description": "Invoice lines, at least one."
    },
    "payment_options": {
      "description": "Payment details printed on the invoice.",
      "anyOf": [
        {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "bank",
                  "other"
                ],
                "description": "bank takes the bank fields; other takes free-form fields."
              },
              "bank_account": {
                "description": "IBAN. Required for bank; not allowed for other.",
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 255
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "bank_name": {
                "description": "Required for bank; not allowed for other.",
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 255
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "routing_or_sort_number": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 255
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "swift_bic_code": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 255
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "fields": {
                "description": "Required for other.",
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "label": {
                          "type": "string",
                          "maxLength": 255
                        },
                        "value": {
                          "type": "string",
                          "maxLength": 255
                        }
                      },
                      "required": [
                        "label",
                        "value"
                      ]
                    }
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "type"
            ]
          }
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "invoice_id",
    "type",
    "invoice_date",
    "series",
    "invoice_number",
    "currency",
    "buyer",
    "products"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴fsaskaita_create_expense(currency, total, vat, seller, date, ...)

WRITE: record a new expense with its document file (receipt or invoice from a supplier). The file is required. The call fires the expense.created webhook and is NOT repeatable: list expenses before you retry after a network error. POST /expenses (multipart).

입력 스키마

{
  "type": "object",
  "properties": {
    "currency": {
      "type": "string",
      "minLength": 1,
      "description": "Currency code from fsaskaita_list_currencies, e.g. EUR."
    },
    "total": {
      "type": "number",
      "description": "Amount including VAT."
    },
    "vat": {
      "description": "VAT amount inside total. Stored but not returned.",
      "type": [
        "number",
        "null"
      ]
    },
    "seller": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255,
      "description": "Supplier name."
    },
    "date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Document date, yyyy-mm-dd."
    },
    "invoice_number": {
      "description": "Supplier's document number. Stored but not returned.",
      "anyOf": [
        {
          "type": "string",
          "maxLength": 255
        },
        {
          "type": "null"
        }
      ]
    },
    "file_base64": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4194304,
      "description": "The document as standard base64, up to about 3 MB of file bytes."
    },
    "filename": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255,
      "description": "File name with its extension. Allowed: jpeg, jpg, bmp, gif, pdf, png, tiff, xlsx, xls, doc, docx, odf."
    }
  },
  "required": [
    "currency",
    "total",
    "seller",
    "date",
    "file_base64",
    "filename"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴fsaskaita_update_expense(expense_id, currency, total, vat, seller, ...)

WRITE: replace EVERY field of an existing expense. Read it first with fsaskaita_get_expense and resend all of it. Stored VAT and supplier invoice number are not returned, so send them again if you need them. The file is optional: when you send one it replaces the stored file. PUT /expenses/{expense} (multipart).

입력 스키마

{
  "type": "object",
  "properties": {
    "expense_id": {
      "type": "string",
      "minLength": 1,
      "description": "The UUID from a list or get tool."
    },
    "currency": {
      "type": "string",
      "minLength": 1,
      "description": "Currency code from fsaskaita_list_currencies, e.g. EUR."
    },
    "total": {
      "type": "number",
      "description": "Amount including VAT."
    },
    "vat": {
      "description": "VAT amount inside total. Stored but not returned.",
      "type": [
        "number",
        "null"
      ]
    },
    "seller": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255,
      "description": "Supplier name."
    },
    "date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Document date, yyyy-mm-dd."
    },
    "invoice_number": {
      "description": "Supplier's document number. Stored but not returned.",
      "anyOf": [
        {
          "type": "string",
          "maxLength": 255
        },
        {
          "type": "null"
        }
      ]
    },
    "file_base64": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4194304,
      "description": "The document as standard base64, up to about 3 MB of file bytes."
    },
    "filename": {
      "description": "File name with extension. Needed with file_base64.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    }
  },
  "required": [
    "expense_id",
    "currency",
    "total",
    "seller",
    "date"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 12개