Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

NPDTools

Ищешь инструмент для удобного декларирования доходов? Хочешь автоматизировать выдачу чеков клиентам? Надоело заходить в Мой налог? Надоедает проверять, что каждый приход зарегистрирован в налоговой? Боишься ошибиться и получить безжалостный удар от ФНС кнутом без пряника?

ВЫХОД ЕСТЬ! Для этого потребуется простая питоняшая...

Нет, не сода. Либа. README которой ты сейчас читаешь. Да, она позволяет работать с API Федеральной налоговой службы (ФНС) в рамках возможностей приложения "Мой налог". Больше она не умеет. Столько же не умеет. Меньше умеет. Надеюсь, теперь все люди, что искали подобный инструмент в гугле, смогли его найти. Можно приступить к содержательной части.

Если ты не знаешь свой ⚠️ password ⚠️

Если входишь в lknpd.nalog.ru или "Мой налог" через Госуслуги (ЕСИА) или просто не помнишь пароль, надо зайти на lkfl2.nalog.ru и там по ситуации:

  • Войти так же через Госуслуги и сменить (установить) пароль в настройках профиля
  • Войти по электронной подписи и сменить пароль в настройках профиля
  • Нажать кнопочку "Восстановить пароль" и пройти процедуру восстановления
  • Не разобраться в ситуации и смириться со сложностью бытия

Что может библиотека?

Собственно, всё сводится к выставлению и закрытию чеков. Можно ещё получать их историю, но это плохо реализовано у меня, потому что я криволапка, но только пока. Что? Примеров хочешь? Держи примеров. Обмажься.

Выставляем чек, как профи

from npdtools import NPDTools
client = NPDTools("123456789012", "~_ub&TS5RY~k9,czo(q*")

# Для начала составим корзину.
# 1. Метод здорового человека
cheque = Services()
cheque.add("Коробка для изюма из дерева с декоративными элементами", 250, 1)

# 2. Метод немного здорового человека
cheque = Services(Service("Коробка", 250.5, 10), Service("Бант", 67.89, 5))

# 3. Метод немного нездорового человека
cheque = Services(("Скворечник", 3600, 1), ("Палка для скворечника", 1000, 1))

# 4. Метод нездорового человека.Можно добавить только одну позицию.
bill = client.add_income(Service(("Носочки", 20007.08, 1)))

# 5. Метод больного человека. Можно добавить только одну позицию.
bill = client.add_income(("Что-то неведомое", 100, 2))

# Как выставлять физлицам?
bill = client.add_income(cheque)

# ИП или ООО или прочая российская организация?
from npdtools.types import Client
bill = client.add_income(cheque, Client(display_name="ИП Иванов Иван Иваныч", inn=1123456789012))

# А иностранная?
from npdtools.types import Client
bill = client.add_income(cheque, Client(display_name="Rusalky Davalky Inc."))

Канселим чеки, как Италию

from npdtools import NPDTools
client = NPDTools("123456789012", "~_ub&TS5RY~k9,czo(q*")

cheque = Services()
cheque.add("Коробка для изюма из дерева с декоративными элементами", 250, 1)
bill = client.add_income(cheque)

# Отменяем выставленный счёт
client.cancel_income(bill.id)

# Ну или как-то по-другому указываем номер чека. Можно и кастомный коммент.
client.cancel_income(id="73489273597", comment="Клиент гопник я с ним работать не буду")

P.S.

Я буду ещё дописывать библиотеку, да. Но пока так. Она не такая простая, как кажется.

Буду рад конструктивным пул реквестам и иссуям.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

npdtools-0.1a5.tar.gz (17.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

npdtools-0.1a5-py3-none-any.whl (17.1 kB view details)

Uploaded Python 3

File details

Details for the file npdtools-0.1a5.tar.gz.

File metadata

  • Download URL: npdtools-0.1a5.tar.gz
  • Upload date:
  • Size: 17.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.26.0 setuptools/57.4.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.6

File hashes

Hashes for npdtools-0.1a5.tar.gz
Algorithm Hash digest
SHA256 1468e4b41d092843fe5d259bb40e562c2f7e325eac20e54e819ebdda8e0f52ae
MD5 828cba3321f389fa5681a5e8f31d8d91
BLAKE2b-256 f1670d5a665f2fcaf016c58ddb4ae86fc2ec6f6d0db7890fee304dfaed4d9829

See more details on using hashes here.

File details

Details for the file npdtools-0.1a5-py3-none-any.whl.

File metadata

  • Download URL: npdtools-0.1a5-py3-none-any.whl
  • Upload date:
  • Size: 17.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.26.0 setuptools/57.4.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.6

File hashes

Hashes for npdtools-0.1a5-py3-none-any.whl
Algorithm Hash digest
SHA256 3f9472936e6ec6b66bf876f2f6cd2f1e8f6fff29631471c6df0ab417016c4e4d
MD5 a1084b76d0c212b43268eeb08a942207
BLAKE2b-256 1d78fc404c879f41da53d6ed9aa2d47c106f0276ee06e6922ed31fba3b80686d

See more details on using hashes here.

Release history Release notifications | RSS feed

1.0.1

2 files

1.0.0

2 files

This release

0.1a5 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page