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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1468e4b41d092843fe5d259bb40e562c2f7e325eac20e54e819ebdda8e0f52ae
|
|
| MD5 |
828cba3321f389fa5681a5e8f31d8d91
|
|
| BLAKE2b-256 |
f1670d5a665f2fcaf016c58ddb4ae86fc2ec6f6d0db7890fee304dfaed4d9829
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3f9472936e6ec6b66bf876f2f6cd2f1e8f6fff29631471c6df0ab417016c4e4d
|
|
| MD5 |
a1084b76d0c212b43268eeb08a942207
|
|
| BLAKE2b-256 |
1d78fc404c879f41da53d6ed9aa2d47c106f0276ee06e6922ed31fba3b80686d
|