Nordlet за софтуерни разработчици
Добавете фактуриране, счетоводство и подаване на данъчни декларации в ЕС към софтуера си чрез един JSON API, типизирани SDK пакети, уебхукове, MCP сървър и тестови компании.
Много приложения генерират финансови събития: платена е поръчка, подновен е абонамент или е възстановена сума. Всяко от тези събития трябва да намери място в счетоводните регистри на компанията.
Nordlet е счетоводен софтуер, създаден с водеща роля на API (API-first). Всичко, което уеб приложението прави, е достъпно и чрез един JSON API. Вашето приложение изпраща събитията, а Nordlet води счетоводството и подготвя данъчните декларации.
Какво прави Nordlet
- Предоставя всяко действие като
POST /v1/{module}/{resource}/{actionс JSON тяло, например/v1/sales/invoices/create. - Удостоверява всяка заявка с API ключ, който принадлежи на една компания. Всеки ключ притежава права (scopes), като например
sales:readилиsales:write, които ограничават какво може да прави той. - Приема суми като десетични текстови низове, никога като числа с плаваща запетая, така че да няма загуба на стотинки при закръгляване.
- Приема заглавка
Idempotency-Keyпри всяка промяна. Повторният опит със същия ключ връща първоначалния отговор, вместо да изпълнява работата втори път. Идемпотентността (idempotency) означава, че повтарящата се заявка има същия ефект като една заявка. - Връща всяка грешка в един общ формат.
- Позволява 300 заявки в минута за един API ключ.
- Записва всяка промяна в одитен одит лог (audit log).
Ръководството за API конвенции разглежда подробно всяко от тези правила.
Счетоводство, което остава коректно
- Издаването на фактура присвоява пореден номер без пропуски, проверява дали счетоводният период (accounting period) е отворен и контира счетоводната статия (journal entry) в рамките на същата транзакция в базата данни.
- Всяко записване трябва да е балансирано. Самата база данни проверява това при запазване на транзакцията.
- Издадените и регистрирани документи не могат да бъдат изтривани. Погрешно съпоставено банково плащане се отменя с корективна статия, а не чрез редактиране на старата. Това е същността на неизменяемия регистър (immutable ledger).
SDK пакети, MCP и уебхукове
- Типизирани SDK пакети се генерират от едно и също OpenAPI описание за TypeScript, Python, Go, Java, C#, Ruby, PHP, Swift и Rust. Докато даден SDK пакет бъде публикуван, го инсталирате от неговото изходно хранилище. Вижте ръководството за SDK пакети.
- Налична е Postman колекция с всеки краен пункт (endpoint).
- MCP сървърът позволява на AI асистент като Claude Code да търси в API и да го извиква с вашия API ключ. Всяко извикване е обикновена API заявка със същите права и лимити.
- Уебхуковете уведомяват приложението ви, когато се случи нещо, например
sale_invoice.issuedилиsale_invoice.paid. Всяка доставка е подписана с HMAC подпис, за да можете да проверите, че идва от Nordlet. Неуспешните доставки се опитват отново в продължение на около 24 часа.
Тестване с тестови компании (sandbox)
- Създайте компания с
isSandbox: trueили отметнете тестовото поле (sandbox), когато настройвате компания в приложението. - Тестовата компания (sandbox company) работи като реална: същите модули, същият API.
- Тя е ясно обозначена като тестови данни и не можете да превърнете реална компания в тестова или обратно.
- Декларациите и електронните фактури (e-invoice) на тестовата компания отиват в тестовите услуги на администрацията.
- Използването в тестова компания се отчита и таксува като използването в реална компания.
Ръководството за бърз старт описва стъпка по стъпка получаването на първия API ключ, издаването на първата фактура и целия цикъл.
FAQ
Може ли едно приложение да обслужва няколко компании?
Да. Всеки API ключ принадлежи на една компания, така че създавате по един ключ за всяка компания. Всяка доставка на уебхук съдържа companyId на компанията, към която принадлежи, така че един получател може да обслужва няколко компании.
Трябва ли сам да изграждам функционалността за подаване на данъчни декларации?
Не. Nordlet генерира декларациите въз основа на счетоводните регистри. За всяка декларация тя или я изпраща, или създава файл за ръчно качване, или показва стойности за въвеждане в зависимост от държавата. Таблицата за поддържани декларации описва всеки отделен случай.