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.
Я буду ещё дописывать библиотеку, да. Но пока так. Она не такая простая, как кажется.
Буду рад конструктивным пул реквестам и иссуям.
Metadata
Release files for npdtools 0.1a4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| npdtools-0.1a4.tar.gz | 17.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| npdtools-0.1a4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 34.2 kB
Release files / npdtools-0.1a4.tar.gz
| Download URL | npdtools-0.1a4.tar.gz |
|---|---|
| Size | 17.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2de3461d30416abc9144142edcedc25da901f7abe36b7be7c985f0355b41f96b
|
|
BLAKE2b-256 checksum How to use checksums |
bdc2743499334689ef6790af97ea924ec33d019c5a6fd4f7ef8149e4c2d4d00f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / npdtools-0.1a4-py3-none-any.whl
| Download URL | npdtools-0.1a4-py3-none-any.whl |
|---|---|
| Size | 17.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4ff7774897bef05077cbaef78d65644fccac0754bea03d138b9df291f3a0edbb
|
|
BLAKE2b-256 checksum How to use checksums |
bab9a7937e28b8146e936fb83d480a9f4cd78299c5c86cef04033cfe91ac863d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|