Титла: Аналог на БУЛСТАТ / уникален номер на фирма при западните EU фирми Публикувано от: Naka в Jun 17, 2015, 16:25 При западните/EU фирми има ли нещо което да е аналогично на нашият БУЛСТАТ номер. Трябва ми номер който да идентифицира уникално която и да е фирма, даже и ако тя не българска.
засега е така: Код: mysql> describe firms; +---------+-----------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------+-----------------------+------+-----+---------+----------------+ | firm_id | mediumint(8) unsigned | NO | PRI | NULL | auto_increment | | bulstat | char(13) | NO | UNI | NULL | | | logo_id | int(10) unsigned | YES | MUL | NULL | | +---------+-----------------------+------+-----+---------+----------------+ 3 rows in set (0.00 sec) Обаче съм го набил твърдо на bulstat(13)(като колоната bulstat има уникален индекс, така че да не позволява повторения) и се чудя как да си оставя вратичка така, че за в бъдеще да може да примема не само регистрации на БГ фирми но и на всякакви такива EU фирми. ----- чета нещо за VAT number validation http://ec.europa.eu/taxation_customs/vies/ обаче дали VAT номера е уникалният номер, ами ако западната фирма не е регистрирана по ДДС. ----- В UK например имало две понятия CRN(Company Registration Number) и UTR(Unique Taxpayer Reference) https://www.1stformations.co.uk/blog/is-my-company-number-my-tax-number/ като въпросното CRN най много прилича на нашенското Bulstat. Титла: Re: Аналог на БУЛСТАТ / уникален номер на фирма при западните EU фирми Публикувано от: stealth01 в Jun 17, 2015, 18:02 Преди време ДДС номерът беше различен от БУЛСТАТ-а.
След това направиха нови ДДС номера, които съвпрадат с БУЛСТАТ номера + BG отпред. На практика си имаме два номера в момента, които по стечение на обстоятелствата са почти еднакви. Как е по чужбината - не знам. Почти съм сигурен, че повечето държави си имат по няколко различни номера и единствената що годе унификация са ДДС номерата. Титла: Re: Аналог на БУЛСТАТ / уникален номер на фирма при западните EU фирми Публикувано от: NorthBridge в Jun 17, 2015, 18:47 В повечето случаи това е VAT number, но за всяка държава е различно, и в крайна сметка е един голям мармалад. https://en.wikipedia.org/wiki/VAT_identification_number ($2)
Дръж си ги като нормален varchar и няма да имаш проблеми. Титла: Re: Аналог на БУЛСТАТ / уникален номер на фирма при западните EU фирми Публикувано от: romeo_ninov в Jun 18, 2015, 12:43 Ето нещо от сайта на ЕО: http://ec.europa.eu/taxation_customs/taxation/tax_cooperation/mutual_assistance/tin/index_en.htm
Титла: Re: Аналог на БУЛСТАТ / уникален номер на фирма при западните EU фирми Публикувано от: Naka в Jun 18, 2015, 13:44 Ето нещо от сайта на ЕО: http://ec.europa.eu/taxation_customs/taxation/tax_cooperation/mutual_assistance/tin/index_en.htm това TIN явно е за физическите лица. в страницата има линк за проверка online check module ($2) и там нашите ЕГН-та минават но не и булстатите. а пък тука http://ec.europa.eu/taxation_customs/vies/ минават бултатите но само на регистрираните по ДДС фирми а другите булстати на нерегистрираните ги изхвърля. Титла: Re: Аналог на БУЛСТАТ / уникален номер на фирма при западните EU фирми Публикувано от: romeo_ninov в Jun 18, 2015, 13:51 това TIN явно е за физическите лица. в страницата има линк за проверка online check module ($2) и там нашите ЕГН-та минават но не и булстатите.Не само регистрираните по ДДС. Трябва да са регистрирани и по ВИЕС (по спомени имаше такава особеност) Титла: Re: Аналог на БУЛСТАТ / уникален номер на фирма при западните EU фирми Публикувано от: Naka в Jun 18, 2015, 17:45 засега единственото решение което виждам за да го напрявя по-универсално е:
да преименувам полето bulstat на company_number да му сложа индекс (UNIQUE KEY) и да го записвам номера заедно с префикса (а не чистият булстат номер както беше досега) например: BG123456789 DE123456789 ... така ако се записва заедно с префикса няма да има колизии в номера между бг и западна фирма и номера ще е винаги уникален да го направя да приема NULL стойности в случай че не е известен номера на 'западната' фирма и да го дигна полето на CHAR(18)..... Хич не обичам varchar. Код: company_number CHAR(18) NULL UNIQUE KEY, обаче все още се чудя как да ги записвам номерата - с префикса отпред BG123456789 DE123456789 или да ги сложа като суфикс 123456789BG 123456789DE щото ако е отпред индекса ще е страшно неефективен. ще имам 99% BG123456789 и само тук таме някой западен номер. ----------------- но въпроса с валидацията на номера остава. за БГ няма проблеми. Ползвам това http://www.linux-bg.org/forum/index.php?topic=36320.msg184403 и работи правилно. А за западните номера явно трябва да си затварям очите и да ги приемам на доверие. тук открих нещо много ценно http://www.braemoor.co.uk/software/vat.shtml само че е на JS :'( вътре има проверка с контролни суми за всяка страна индивидуално :o, според специфичният алгоритъм за страната. И нашият булстат е вътре и ЕГН-тата. тук също има хубаво описани алгоритмите за отделните държави: http://zylla.wipos.p.lodz.pl/ut/translation.html http://www.pruefziffernberechnung.de/U/USt-IdNr.shtml Титла: Re: Аналог на БУЛСТАТ / уникален номер на фирма при западните EU фирми Публикувано от: romeo_ninov в Jun 19, 2015, 09:20 ....Ами аз лично бих заложил на BG123.... защото това е формата на VIES. Не че нещо проблем при нужда да се генерира, но щом така и така ще трябва да имаш колона за страна и друга за номер вместо да ползваш композитен индекс да си ползваш обикновен (ако имаш нужда от индексиране де) Титла: Re: Аналог на БУЛСТАТ / уникален номер на фирма при западните EU фирми Публикувано от: NorthBridge в Jun 19, 2015, 23:49 Хм, мисля че е по-добре да пазиш чистия company number в една колона и държавата в друга, и накрая UNIQUE индекс на company_number (ако ползваш MySQL, иначе ако е Postgre което не дава да слагаш UNIQUE на колона с NULL, там може да е на (company_number, id), за да можеш да ползваш лявата част като търсиш определен номер). Иначе ако си решил да е BG% или %BG, няма голяма разлика, стига да нямаш SELECT...LIKE '%нещо си'.
Титла: Re: Аналог на БУЛСТАТ / уникален номер на фирма при западните EU фирми Публикувано от: Naka в Jun 20, 2015, 13:19 направих го така:
Код: CREATE TABLE firms ( firm_id MEDIUMINT unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY, country CHAR(2) NOT NULL, company_number CHAR(16) NULL, logo_id INT UNSIGNED default NULL, UNIQUE KEY company_number (company_number, country), KEY logo_id (logo_id) ); с композитен индех едновременно върху VAT-а и country code-то. Така винги ще има уникалност. Много хубаво става с това че mysql позволява дублирани NULL стойности при уникален индекс. Така ако някой номер не се знае задава се NULL, а едновременно пък се запазва уникалността на тези дето са зададени. Титла: Re: Аналог на БУЛСТАТ / уникален номер на фирма при западните EU фирми Публикувано от: romeo_ninov в Jun 22, 2015, 09:22 ....Композитните индекси са много хубаво нещо, само трябва да видиш колко често имаш нужда от уникалния код и колко често от ИД на фирма (без да се интересуваш от държава). Така можеш да прецениш от гледна точка на производителност кое ще е по-евтино |