· 5 years ago · Jun 16, 2020, 01:26 PM
1import sqlite3
2
3data_base = 'account_app_2.db'
4conn_db = sqlite3.connect(data_base)
5
6conn_db.cursor().execute('''
7 CREATE TABLE IF NOT EXISTS contragents
8 (
9 id INTEGER PRIMARY KEY AUTOINCREMENT,
10 company text,
11 bulstat INTEGER,
12 vat_number text,
13 ndr_number text,
14 iln_number text,
15 phone_number INTEGER,
16 city text,
17 registration_address text,
18 current_address text,
19 personincharge text,
20 persontoreceive text,
21 country text,
22 region text
23 );
24''')
25conn_db.commit()
26
27conn_db.cursor().execute('''
28 CREATE TABLE IF NOT EXISTS accounts
29 (
30 id INTEGER PRIMARY KEY AUTOINCREMENT,
31 accountnumber INTEGER,
32 accountname TEXT,
33 debit1 INTEGER,
34 credit1 INTEGER,
35 debit2 INTEGER,
36 credit2 INTEGER,
37 debit3 INTEGER,
38 credit3 INTEGER
39 );
40''')
41conn_db.commit()
42
43list_of_accounts = [(101, 'Основен капитал, изискващ регистрация'),
44 (102, 'Капитал неизискващ регистрация (за консорциуми и дружества по ЗЗД)'),
45 (103, 'Ликвидационен капитал при несъстоятелност и ликвидация'),
46 (104, 'Капитал на предприятия с нестопанска дейност'),
47 (111, 'Общи резерви'), (112, 'Резерви от последваща оценка на дълготрайни активи'),
48 (113, 'Резерви от последваща оценка на финансови инструменти'), (114, 'Резерви от емисия на акции'),
49 (115, 'Резерви, свързани с капитал'), (116, 'Обратно изкупени собствени акции'), (119, 'Други резерви'),
50 (121, 'Непокрита загуба от минали години'), (122, 'Неразпределена печалба от минали години'),
51 (123, 'Печалби и загуби от текущата година'), (124, 'Резултат при несъстоятелност и ликвидация'),
52 (125, 'Резултат от дейността на предприятия с нестопанска цел'), (151, 'Получени краткосрочни заеми'),
53 (152, 'Получени дългосрочни заеми'), (153, 'Кредитни карти'), (154, 'Дългови инструменти'), (159, 'Други заеми и дългове'),
54 (2011, 'Земи (Терени)'), (2012, 'Подобрения върху земите'), (202, 'Сгради и конструкции'), (203, 'Компютърна техника'),
55 (204, 'Съоръжения'), (205, 'Машини и оборудване'), (206, 'Транспортни средства'), (207, 'Офис обзавеждане'),
56 (209, 'Други дълготрайни материални активи'), (211, 'Продукти от развойна дейност'), (212, 'Програмни продукти'),
57 (213, 'Права върху интелектуална собственост'), (214, 'Права върху индустриална собственост'),
58 (219, 'Други дълготрайни нематериални активи'), (221, 'Инвестиции в дъщерни предприятия'),
59 (222, 'Инвестиции в асоциирани предприятия'), (223, 'Инвестиции в смесени предприятия'),
60 (224, 'Инвестиции в имоти (Инвестиционни имоти)'), (225, 'Инвестиции във финансови активи, държани до настъпване на падеж'),
61 (226, 'Инвестиции във финансови активи, отчитани по справедлива стойност в печалбата или загубата'),
62 (227, 'Предоставени дългосрочни заеми и вземания'), (228, 'Инвестиции във финансови активи на разположение за продажба'),
63 (229, 'Инвестиции в други дългосрочни финансови активи'), (231, 'Положителна търговска репутация'),
64 (232, 'Отрицателна търговска репутация'), (2412, '(Натрупана) Амортизация на сгради и конструкции'),
65 (2413, '(Натрупана) Амортизация на компютърна техника'), (2414, '(Натрупана) Амортизация на съоръжения'),
66 (2415, '(Натрупана) Амортизация на машини и оборудване'), (2416, '(Натрупана) Амортизация на транспортни средства'),
67 (2417, '(Натрупана) Амортизация на офис обзавеждане'), (2419, '(Натрупана) Амортизация на други дълготрайни материални активи'),
68 (2421, '(Натрупана) Амортизация на продукти от развойна дейност'), (2422, '(Натрупана) Амортизация на програмни продукти'),
69 (2429, '(Натрупана) Амортизация на други дълготрайни нематериални активи'),
70 (2431, '(Натрупана) Амортизация на инвестиции в имоти (Инвестиционни имоти)'),
71 (2432, '(Натрупана) Амортизация на биологични активи'), (2433, '(Натрупана) Амортизация на положителна репутация'),
72 (251, 'Корекция при обезценка на вземания'), (252, 'Корекция при обезценка на други активи'),
73 (271, 'Гори'), (272, 'Трайни насаждения – плододаващи'), (273, 'Трайни насаждения – неплододаващи'),
74 (274, 'Животни в основни стада'), (279, 'Други дълготрайни биологични активи'), (301, 'Доставки'), (302, 'Суровини/Материали'),
75 (303, 'Продукти'), (304, 'Стоки'), (311, 'Дребни продуктивни животни'), (312, 'Птици – основни стада'),
76 (313, 'Пчелни семейства'), (314, 'Млади животни'), (315, 'Животни за угояване'), (316, 'Животни за експериментални цели'),
77 (319, 'Други краткотрайни биологични активи'), (401, 'Задължения към доставчици'), (402, 'Вземания от доставчици по аванси'),
78 (403, 'Задължения към доставчици по търговски кредити'), (404, 'Задължения към доставчици по доставки при определени условия'),
79 (405, 'Задължения към доставчици свързани лица'), (409, 'Други задължения към доставчици'), (411, 'Вземания от клиенти'),
80 (412, 'Задължения към клиенти по аванси'), (413, 'Вземания от клиенти по търговски кредити'),
81 (414, 'Вземания от клиенти по продажби при определени условия'), (415, 'Вземания от клиенти свързани лица'),
82 (419, 'Други вземания от клиенти'), (421, 'Задължения към персонал'), (422, 'Разчети с подотчетни лица'),
83 (423, 'Задължения по неизползвани отпуски'), (424, 'Вземания от съучастия'), (425, 'Задължения за съучастия'),
84 (426, 'Вземания по записани дялови вноски'), (429, 'Други разчети с персонала и съдружниците'),
85 (441, 'Вземания по рекламации'), (442, 'Вземания по липси и начети'), (443, 'Ценови разлики по липси и начети'),
86 (444, 'Вземания по съдебни спорове'), (445, 'Присъдени вземания'), (4521, 'Разчети за Годишен корпоративен данък'),
87 (4522, 'Разчети за Авансов корпоративен данък'), (4531, 'Начислен данък върху добавената стойност за покупките'),
88 (4532, 'Начислен данък върху добавената стойност за продажбите'), (4536, 'Отложен данъчен кредит'),
89 (4537, 'Неизползван данъчен кредит'), (4538, 'Данък върху добавената стойност за възстановяване'),
90 (4539, 'Данък върху добавената стойност за внасяне'), (454, 'Разчети за данъци върху доходи на физически лица'),
91 (456, 'Разчети за акцизи'), (457, 'Разчети с митници'), (459, 'Данъчни разчети с бюджета'),
92 (461, 'Разчети за задължително социално осигуряване'), (462, 'Разчети за доброволно социално осигуряване'),
93 (463, 'Разчети за здравно осигуряване'), (469, 'Други разчети с осигурители'),
94 (491, 'Разчети с доверители'), (492, 'Разчети за гаранции'), (493, 'Разчети със собственици'),
95 (494, 'Разчети по отсрочени данъци'), (495, 'Разчети по застраховане'), (496, 'Разчети по лихви'),
96 (497, 'Провизии'), (498, 'Други дебитори'), (499, 'Други кредитори'), (501, 'Каса в левове'), (502, 'Каса във валута'),
97 (503, 'Разплащателна сметки в левове'), (504, 'Разплащателна сметка във валута'), (505, 'Акредитиви'),
98 (506, 'Предоставени депозити'), (507, 'Парични средства, заложени като обезпечение'),
99 (509, 'Други парични средства (в т.ч. ваучери и чекове)'),
100 (511, 'Финансови активи, отчитани по справедлива стойност в печалбата или загубата'),
101 (512, 'Финансови активи, държани до настъпване на падеж'), (513, 'Краткосрочни заеми и вземания'),
102 (514, 'Финансови активи на разположение за продажба'), (519, 'Други краткосрочни финансови активи (в т.ч. благородни метали)'),
103 (601, 'Разходи за материали'), (602, 'Разходи за външни услуги'), (603, 'Разходи за амортизация'),
104 (604, 'Разходи за заплати (възнаграждения)'), (605, 'Разходи за осигуровки'),
105 (606, 'Разходи за данъци, такси и други подобни плащания'), (607, 'Разходи за провизии'),
106 (608, 'Разходи от последващи оценки на активи'), (609, 'Други разходи'), (611, 'Разходи за основна дейност'),
107 (612, 'Разходи за спомагателна дейност'), (613, 'Разходи за придобиване на дълготрайни активи'),
108 (614, 'Административни разходи'), (615, 'Разходи за продажби'), (621, 'Разходи за лихви'),
109 (623, 'Разходи по операции с финансови активи и инструменти'), (624, 'Разходи по валутни операции'),
110 (625, 'Разходи от последващи оценки на финансови активи и инструменти'), (629, 'Други финансови разходи'),
111 (651, 'Нефинансови разходи за бъдещи периоди'), (652, 'Финансови разходи за бъдещи периоди'), (691, 'Извънредни разходи'),
112 (701, 'Приходи от продажби на продукти'), (702, 'Приходи от продажби на стоки'), (703, 'Приходи от продажби на услуги'),
113 (704, 'Приходи от наеми'), (705, 'Приходи от продажби на дълготрайни активи'), (706, 'Приходи от продажба на суровини/материали'),
114 (707, 'Приходи от последваща оценка на активи'), (708, 'Приходи от финансирания'), (709, 'Други приходи от дейността'),
115 (711, 'Приходи от регламентирана дейност'), (712, 'Приходи от членски внос'), (713, 'Приходи от финансирания и дарения'),
116 (719, 'Други приходи'), (721, 'Приходи от лихви'), (722, 'Приходи от съучастия'),
117 (723, 'Приходи от операции с финансови активи и инструменти'), (724, 'Приходи от валутни операции'),
118 (725, 'Приходи от последващи оценки на финансови активи и инструменти'), (729, 'Други финансови приходи'),
119 (751, 'Нефинансови приходи за бъдещи периоди'), (752, 'Финансови приходи за бъдещи периоди'),
120 (753, 'Финансиране за дълготрайни активи'), (754, 'Финансиране на текущата дейност'), (791, 'Извънредни приходи'),
121 (911, 'Наети чужди активи'), (912, 'Чужди материални активи, получени по консигнационен договор'),
122 (913, 'Други материални и нематериални активи, приети на съхранение'),
123 (914, 'Финансови активи или парични средства, приети на за съхранение'),
124 (981, 'Чужди материални и нематериални активи, получени като обезпечение'),
125 (982, 'Чужди финансови активи, получени като обезпечение'), (983, 'Полици или записи на заповед, получени като обезпечение'),
126 (984, 'Други условни активи'), (989, 'Кореспондираща сметка за условни активи'),
127 (991, 'Собствени материални и нематериални активи, предоставени като обезпечение'),
128 (992, 'Собствени финансови активи, предоставени като обезпечение'),
129 (993, 'Полици или записи на заповед, предоставени като обезпечение'), (994, 'Други условни пасиви'),
130 (999, 'Кореспондираща сметка за условни пасиви')]
131
132# print(list_of_accounts[0])
133display_data = conn_db.cursor()
134display_data.execute('SELECT * FROM accounts')
135retrieve_data = display_data.fetchall()
136# print(retrieve_data)
137if not retrieve_data:
138 for row, item in list_of_accounts:
139 conn_db.execute('INSERT INTO accounts(accountnumber, accountname) VALUES (?, ?)', (row, item))
140 conn_db.commit()
141else:
142 pass
143
144conn_db.cursor().execute('''
145 CREATE TABLE IF NOT EXISTS inserteddocs
146 (
147 id INTEGER PRIMARY KEY AUTOINCREMENT,
148 documentstype TEXT,
149 documentsnumber INTEGER,
150 documentsdate TEXT,
151 sum REAL,
152 VAT REAL,
153 total REAL
154 );
155''')
156conn_db.commit()