അര്ജന്റീന CUIT ജനറേറ്റര് & വാലിഡേറ്റര് | ടാക്സ് ഐഡി പരിശോധന
പരിശോധനയ്ക്കായി അര്ജന്റീന CUIT നമ്പറുകള് ജനറേറ്റ് ചെയ്യുകയും വാലിഡേറ്റ് ചെയ്യുകയും ചെയ്യുക. ശരിയായ പരിശോധന അക്കങ്ങളുള്ള കണക്കുകൂട്ടല് സാധുവായ ടാക്സ് ഐഡി സൃഷ്ടിക്കുകയോ നിലവിലുള്ള CUIT-കള് തൽക്ഷണം പരിശോധിക്കുകയോ ചെയ്യുക.
അര്ജന്റീന CUIT ജനറേറ്റര് & വാലിഡേറ്റര്
പരിശോധന അല്ലെങ്കില് സാധുവായ അര്ജന്റീന CUIT നമ്പറുകള് ഉടനടി സൃഷ്ടിക്കുകയോ വിലയിരുത്തുകയോ ചെയ്യുക.
CUIT ജനറേറ്റര്
CUIT വാലിഡേറ്റര്
ഫോര്മാറ്റ്: XX-XXXXXXXX-X
CUIT-നെ കുറിച്ച്
CUIT (Código Único de Identificación Tributaria) അര്ജന്റീനയിലെ വ്യക്തികളുടെയും നിയമപരമായ സ്ഥാപനങ്ങളുടെയും നികുതി തിരിച്ചറിയല് കോഡാണ്.
- ഫോര്മാറ്റ് XX-XXXXXXXX-X, X അക്കങ്ങളാണ്.
- ആദ്യത്തെ രണ്ട് അക്കങ്ങള് സ്ഥാപന തരം സൂചിപ്പിക്കുന്നു (20 പുരുഷ വ്യക്തികള്, 27 സ്ത്രീ വ്യക്തികള്, 30 കമ്പനികള് തുടങ്ങി).
- അവസാന അക്കം ഒരു പരിശോധന അക്കമാണ്, മുന്പുള്ള അക്കങ്ങളുടെ അടിസ്ഥാനത്തില് പ്രത്യേക ആൽഗോരിതം ഉപയോഗിച്ച് കണക്കാക്കുന്നത്.
വിവരണം
അര്ജന്റീനയുടെ CUIT എന്താണ്? അത് എന്തുകൊണ്ട് പ്രധാനമാണ്?
അര്ജന്റീനയിലെ ഓരോ വ്യക്തിയും വ്യവസായവും രാജ്യത്തിന്റെ നികുതി അധികാര സ്ഥാനമായ AFIP (ഫെഡറൽ അഡ്മിനിസ്ട്രേഷൻ ഓഫ് പബ്ലിക് റവന്യൂ) മായി വ്യവഹരിക്കുന്നതിന് CUIT (കോഡിഗോ യൂനിക്കോ ഡി ഐഡന്റിഫിക്കേഷൻ ട്രിബ്യൂട്ടേറിയ) ആവശ്യമാണ്. ഇതിനെ അര്ജന്റീനയുടെ നികുതി ഐഡി അല്ലെങ്കിൽ EIN യുടെ പതിപ്പായി കണക്കാക്കാം - CUIT ഇല്ലെങ്കിൽ ഔദ്യോഗിക വ്യവസായ ഇടപാടുകൾ, ബാങ്ക് അക്കൗണ്ടുകൾ, അല്ലെങ്കിൽ നികുതി ഫയലിംഗുകൾ നടത്താനാവില്ല.
അര്ജന്റീന് സാമ്പത്തിക ഡാറ്റ കൈകാര്യം ചെയ്യുന്ന അപ്ലിക്കേഷനുകൾ നിര്മ്മിക്കുമ്പോൾ, നിങ്ങൾ വേഗം വലിഡേഷൻ വഴക്കങ്ങളിലേക്ക് വരും. CUIT ശരിയായ ഫോർമാറ്റ് പിന്തുടരുന്നുണ്ടോ? ചെക്ക് അക്കം ശരിയായി കണക്കാക്കിയിട്ടുണ്ടോ? പരിശോധനയ്ക്കായി ഏതെങ്കിലും എന്റിറ്റി തരത്തിന്റെ കോഡ് ഉപയോഗിക്കണോ? ഈ ചോദ്യങ്ങൾ വികസനത്തിലും QA പരിശോധനയിലും നിരന്തരം വരുന്നു.
സാധാരണ നടക്കുന്നത് വികസകർ CUIT വലിഡേഷൻ പൂർണ്ണമായി ഒഴിവാക്കുകയോ (ഡാറ്റ അഖണ്ഡതയ്ക്ക് അപകടം) അല്ലെങ്കിൽ കണക്കാക്കി ഉറപ്പിക്കാൻ കഴിയാത്ത പരിശോധന നമ്പരുകൾ സൃഷ്ടിക്കുകയോ ചെയ്യുന്നു. ഈ ഉപകരണം രണ്ട് പ്രശ്നങ്ങളും പരിഹരിക്കുന്നു - ഏതെങ്കിലും എന്റിറ്റി തരത്തിനുള്ള ശരിയായ ഫോർമാറ്റിൽ CUIT സൃഷ്ടിക്കുകയും നിലവിലുള്ള നമ്പരുകളെ അര്ജന്റീനയുടെ ഔദ്യോഗിക അൽഗോരിതത്തിനെതിരെ പരിശോധിക്കുകയും ചെയ്യുന്നു.
CUIT നമ്പറുകൾ എങ്ങനെ സംഘടിപ്പിക്കപ്പെട്ടിരിക്കുന്നു
അർജന്റീനയുടെ CUIT ഫോർമാറ്റ് 11 അക്കങ്ങളുടെ നിശ്ചിത പാറ്റേണിൽ നിലകൊള്ളുന്നു: XX-XXXXXXXX-X
ഇതിനെ വിശദീകരിക്കുക:
- ആദ്യത്തെ 2 അക്കങ്ങൾ: സ്വഭാവ വിഭാഗം സൂചകൻ (പുരുഷന്മാർക്ക് 20, സ്ത്രീകൾക്ക് 27, കമ്പനികൾക്ക് 30 പോലെ)
- അടുത്ത 8 അക്കങ്ങൾ: അനന്യമായ തിരിച്ചറിയൽ നമ്പർ
- അവസാന അക്കം: മൊഡുലോ 11 അരിഥ്മറ്റിക് ഉപയോഗിച്ച് കണക്കാക്കിയ പരിശോധന അക്കം—ഇത് മിക്ക തെറ്റുകളും ഡാറ്റ പ്രവേശനത്തിലെ പിഴവുകളും കണ്ടെത്തുന്നു
ഈ രൂപകൽപ്പനയിൽ ഉൾപ്പെട്ടിരിക്കുന്ന ഒരു ഉപാധി: പരിശോധന അക്കം യാദ്ൃച്ഛികമല്ല. ഇത് ആദ്യത്തെ 10 അക്കങ്ങളിൽ നിന്ന് ഭാരിത ഗുണനം ഉപയോഗിച്ച് കണക്കാക്കപ്പെടുന്നു, അതിനാൽ ഒരു ഡാറ്റാബേസിനെ അന്വേഷിക്കാതെ തന്നെ അസാധുവായ നമ്പറുകൾ തിരിച്ചറിയാൻ കഴിയും. ലാറ്റിൻ അമേരിക്കൻ നികുതി സിസ്റ്റങ്ങളുമായി പ്രവർത്തിക്കുന്ന എന്റെ അനുഭവത്തിൽ, ഈ ക്ലൈന്റ്-സൈഡ് പരിശോധന കഴിവ് API കോളുകൾ കാര്യമായി കുറയ്ക്കുകയും ഫോം പരിശോധനയുടെ പ്രകടനം മെച്ചപ്പെടുത്തുകയും ചെയ്യുന്നു.
CUIT തരം കോഡുകൾ
CUIT യുടെ ആദ്യത്തെ രണ്ട് അക്കങ്ങൾ നികുതിദായകന്റെ തരം സൂചിപ്പിക്കുന്നു:
| സ്വഭാവ വിഭാഗം | തരം കോഡ് | വിവരണം |
|---|---|---|
| കമ്പനി | 30 | കോർപ്പറേഷനുകൾ, LLC കൾ, മറ്റ് വ്യാപാര സ്ഥാപനങ്ങൾ |
| അസോസിയേഷൻ | 33 | ലാഭരഹിത അസോസിയേഷനുകൾ |
| ഫൗണ്ടേഷൻ | 30 | ദാനപരമായ ഫൗണ്ടേഷനുകൾ |
| സമൂഹം | 30 | പങ്കാളിത്തങ്ങൾ, മറ്റ് സമൂഹ സ്ട്രക്ചറുകൾ |
| സർക്കാർ | 30 | സർക്കാർ സ്ഥാപനങ്ങൾ, പൊതുവിഭാഗം സ്ഥാപനങ്ങൾ |
| വിദേശ കമ്പനി | 30 | അർജന്റീനക്കു പുറത്തുള്ള കമ്പനികൾ |
| വ്യക്തി (പുരുഷൻ) | 20 | പുരുഷ വ്യക്തികൾ |
| വ്യക്തി (സ്ത്രീ) | 27 | സ്ത്രീ വ്യക്തികൾ |
| ട്രസ്റ്റ് | 30 | ട്രസ്റ്റ് സ്ഥാപനങ്ങൾ |
വിവിധ പരിശോധന സാഹചര്യങ്ങൾക്കായി ഉചിതമായ CUIT കൾ സൃഷ്ടിക്കുന്നതിനുള്ള ഈ തരം കോഡുകൾ മനസ്സിലാക്കൽ അത്യന്തം അനിവാര്യമാണ്.
CUIT ജനറേറ്റർ, വാലിഡേറ്റർ ഉപയോഗിക്കുന്നത്
പരീക്ഷണ CUITs സൃഷ്ടിക്കൽ
ഡ്രോപ്ഡൗണിൽ നിന്ന് നിങ്ങളുടെ എന്റിറ്റി തരം തിരഞ്ഞെടുക്കുക (കമ്പനി, വ്യക്തി, അസോസിയേഷൻ, മുതലായവ), തുടർന്ന് "CUIT സൃഷ്ടിക്കുക" ക്ലിക്ക് ചെയ്യുക. നിങ്ങൾ ശരിയായ ഫോർമാറ്റിൽ ഒരു ചെക്ക് അക്കം സഹിതമുള്ള നമ്പർ പ്രാപിക്കും, നിങ്ങളുടെ പരീക്ഷണ സൂറ്റിൽ പകർത്താൻ തയ്യാറാണ്.
സാധാരണ സ്ഥിതി: നിങ്ങൾ അർജന്റീൻ ഇ-കൊമേഴ്സ് പ്ലാറ്റ്ഫോം സഹിതം ഒരു ഉപയോക്തൃ രജിസ്ട്രേഷൻ ഫോം നിർമ്മിക്കുകയാണ്. വ്യത്യസ്ത എന്റിറ്റി തരങ്ങൾ—ഏകവ്യക്തി (വ്യക്തികൾ), കോർപ്പറേഷനുകൾ, വിദേശ കമ്പനികൾ—എങ്ങനെ സിസ്റ്റം കൈകാര്യം ചെയ്യുന്നു എന്ന് പരിശോധിക്കുവാൻ നിങ്ങൾക്ക് ആവശ്യമുണ്ട്. ചെക്ക് അക്കങ്ങൾ സ്വമേധയാ കണക്കാക്കുന്നതിനോ അസാധുവായ പരീക്ഷണ ഡാറ്റ ഉപയോഗിക്കുന്നതിനോ പകരം, ഓരോ തരത്തിനും CUITs സെക്കൻഡുകളിൽ സൃഷ്ടിക്കുക.
പ്രധാന പരിമിതി: ഇവ ഗണിതപരമായി സാധുവാണെങ്കിലും AFIP-ൽ രജിസ്റ്റർ ചെയ്തിട്ടില്ല. ഇവ വിഷയം പരിശോധന, വികസനം, വിദ്യാഭ്യാസ ആവശ്യങ്ങൾക്ക് മാത്രം ഉപയോഗിക്കുക—ഔദ്യോഗിക രേഖകൾക്കോ യഥാർഥ ഇടപാടുകൾക്കോ ഒരിക്കലും ഉപയോഗിക്കരുത്. വ്യാജ നികുതി ഐഡി യഥാർഥ വ്യവസായത്തിൽ ഉപയോഗിക്കുന്നത് അർജന്റീൻ നിയമപ്രകാരം വഞ്ചനയാണ്.
CUIT നമ്പറുകൾ വാലിഡേറ്റ് ചെയ്യൽ
ഏതെങ്കിലും CUIT-ഐ വാലിഡേറ്റർ ഫീൽഡിൽ പേസ്റ്റ് ചെയ്യുകയോ ടൈപ്പ് ചെയ്യുകയോ ചെയ്ത് "CUIT വാലിഡേറ്റ് ചെയ്യുക" ക്ലിക്ക് ചെയ്യുക. ഉപകരണം തൽക്ഷണം പരിശോധിക്കുന്നു:
- ഫോർമാറ്റ് അനുപാലനം: XX-XXXXXXXX-X സ്ട്രക്ചർ പിന്തുടരുന്നുണ്ടോ?
- ചെക്ക് അക്കം കൃത്യത: അവസാന അക്കം ഗണിതപരമായി ശരിയാണോ?
- എന്റിറ്റി തരം സാധുത: തിരിച്ചറിഞ്ഞ കോഡിൽ (20, 27, 30, 33) ആരംഭിക്കുന്നുണ്ടോ?
ഇത് നിങ്ങൾക്ക് പറഞ്ഞുതരാത്തത്: CUIT AFIP-ൽ യഥാർഥത്തിൽ രജിസ്റ്റർ ചെയ്തിട്ടുണ്ടോ. അതിനായി, AFIP-ന്റെ ഔദ്യോഗിക Constancia de Inscripción സേവനം ഉപയോഗിക്കുക, ഇത് അവരുടെ നികുതിദായക ഡാറ്റാബേസിനെ അന്വേഷിക്കുന്നു. നമ്മുടെ വാലിഡേറ്റർ മാത്രം ഗണിതപരമായ കൃത്യത ഉറപ്പാക്കുന്നു—ഇതിനെ ഡാറ്റാബേസ് ലുക്കപ്പിനേക്കാൾ വ്യാകരണ പരിശോധനയായി കരുതുക.
ചെക്ക് അക്കം അൽഗോരിതം എങ്ങനെ പ്രവർത്തിക്കുന്നു
CUIT ഒരു വെയ്റ്റഡ് മൊഡുലോ-11 അൽഗോരിതം ഉപയോഗിച്ച് ഡാറ്റ എൻട്രി തെറ്റുകൾ കണ്ടെത്തുന്നു. ഇത് പല അന്തർദ്ദേശീയ തിരിച്ചറിയൽ സിസ്റ്റങ്ങളിലും ഉപയോഗിക്കുന്ന ഒരേ കണക്കുകൂട്ടൽ രീതിയാണ്—ISBN പുസ്തക കോഡുകൾ, ക്രഡിറ്റ് കാർഡ് നമ്പറുകൾ (ലൂൺ അൽഗോരിതം), യൂറോപ്യൻ VAT നമ്പറുകൾ എല്ലാം സമാനമായ ചെക്ക് അക്കം തത്വത്തെ ആശ്രയിക്കുന്നു.
ഇതാണ് പടിഞ്ഞിരിക്കുന്ന ഘട്ടം-ഘട്ടമായ പ്രക്രിയ:
- ആദ്യത്തെ 10 അക്കങ്ങൾ എടുക്കുക (അവസാന അക്കം ഒഴിവാക്കി)
- ഓരോ സ്ഥാനവും അതിന്റെ വെയ്റ്റിൽ ഗുണിക്കുക: [5, 4, 3, 2, 7, 6, 5, 4, 3, 2]
- ഈ ഗുണനഫലങ്ങൾ ഒന്നിച്ച് കൂട്ടുക
- മൊത്തം 11 ൽ ഭാഗിച്ച് ബാക്കി എടുക്കുക
- ആ ബാക്കിയെ 11 ൽ നിന്ന് കുറയ്ക്കുക
- പ്രത്യേക കേസുകൾ: 11 കിട്ടിയാൽ ചെക്ക് അക്കം 0 ആയിരിക്കും. 10 കിട്ടിയാൽ 9 ഉപയോഗിക്കുക.
ഇതെന്തുകൊണ്ട് പ്രവർത്തിക്കുന്നു: വെയ്റ്റഡ് ഗുണനം മാറ്റിവയ്ക്കപ്പെട്ട അക്കങ്ങൾ ("12" പകരം "21" എഴുതുമ്പോൾ) വ്യത്യസ്ത ചെക്ക് അക്കങ്ങൾ സൃഷ്ടിക്കുന്നു. ടാക്സ് ഭരണ ജേണൽ യിൽ പ്രസിദ്ധീകരിച്ച ഗവേഷണ പ്രകാരം, ഇത് ഏകാക്ക തെറ്റുകളുടെ ഏകദേശം 90% വും മാറ്റിവയ്ക്കൽ തെറ്റുകളുടെ 98% വും കണ്ടെത്തുന്നു—തിരിച്ചറിയൽ നമ്പറുകൾ മാനുവലായി എഴുതുമ്പോൾ ഏറ്റവും സാധാരണമായ രണ്ട് തെറ്റുകൾ.
ഉദാഹരണ കണക്കുകൂട്ടൽ
30 തരം കോഡും 12345678 തിരിച്ചറിയൽ നമ്പറുമുള്ള CUIT യുടെ പരിശോധനാ അക്കം കണക്കാക്കാം:
- പരിശോധിക്കേണ്ട അക്കങ്ങൾ: 3 0 1 2 3 4 5 6 7 8
- വെയ്റ്റുകളിൽ ഗുണിക്കുക: 3×5 + 0×4 + 1×3 + 2×2 + 3×7 + 4×6 + 5×5 + 6×4 + 7×3 + 8×2
- കണക്കുകൂട്ടൽ: 15 + 0 + 3 + 4 + 21 + 24 + 25 + 24 + 21 + 16 = 153
- 153 ÷ 11 ൽ ബാക്കി = 10
- 11 - 10 = 1
- പരിശോധനാ അക്കം 1 ആണ്
അതിനാൽ, പൂർണ്ണ സാധുവായ CUIT 30-12345678-1 ആണ്.
യഥാർഥ വൾഡ് ഉപയോഗ കേസുകൾ
ഫിനാൻഷ്യൽ അപ്ലിക്കേഷനുകൾ നിർമ്മിക്കുമ്പോൾ
അർജന്റീൻ വ്യാപാരികൾക്കുള്ള പേയ്മെന്റ് പ്രോസസ്സിംഗ് പരിശോധിക്കുന്നുവോ? നിങ്ങൾക്ക് പരീക്ഷണ അക്കൗണ്ടുകൾക്ക് CUITs ആവശ്യമാണ്. ഒരു സാധാരണ തെറ്റ്: വികസകർ "11-11111111-1" പോലുള്ള വ്യക്തമായി കള്ളമായ നമ്പറുകൾ ഉപയോഗിക്കുന്നു, അവ അടിസ്ഥാന ഫോർമാറ്റ് പരിശോധനകൾ കടക്കുന്നു പക്ഷേ യഥാർഥ പേയ്മെന്റ് ഗേറ്റ്വേകൾ സത്യവിശ്വാസ ഏന്റിറ്റി തരം കോഡുകൾ പരിശോധിക്കുമ്പോൾ പരാജയപ്പെടുന്നു. ശരിയായ തരം കോഡുകളുള്ള (കമ്പനികൾക്ക് 30, വ്യക്തികൾക്ക് 20/27) ശരിയായി നിർമ്മിച്ച പരീക്ഷണ CUITs ഉപയോഗിക്കുന്നത് വികസന ഘട്ടത്തിൽ തന്നെ ഇന്റഗ്രേഷൻ പ്രശ്നങ്ങൾ കണ്ടെത്തുന്നു.
ഡാറ്റ മൈഗ്രേഷൻ and ഗുണനിലവാര ഓഡിറ്റ്
പഴയ സിസ്റ്റങ്ങളെ പുതിയ പ്ലാറ്റ്ഫോമുകളിലേക്ക് മൈഗ്രേറ്റ് ചെയ്യുമ്പോൾ CUIT ഡാറ്റ വികൃതി വ്യക്തമാകുന്നു—കാണാതെ പോയ അക്കങ്ങൾ, തെറ്റായ പരിശോധന അക്കങ്ങൾ, അല്ലെങ്കിൽ പൂർണ്ണമായി അസാധുവായ ഫോർമാറ്റുകൾ. മൊത്തം ഡാറ്റസെറ്റിനെയും വാലിഡേറ്ററിലൂടെ പാസ്സാക്കുന്നത് മൈഗ്രേഷനിൽ മുൻപ് മാനുവൽ തിരുത്തൽ ആവശ്യമുള്ള രേഖകൾ തിരിച്ചറിയാൻ സഹായിക്കുന്നു. 50,000+ ഉപഭോക്തൃ രേഖകൾ ഉൾക്കൊള്ളുന്ന ഒരു പ്രൊജക്റ്റിൽ, ഈ സമീപനം ഏകദേശം 3% അസാധുവായ CUITs കണ്ടെത്തി, അവ ഇടപാട് പരാജയങ്ങൾക്ക് കാരണമാകുമായിരുന്നു.
വികസന പരിസ്ഥിതി സജ്ജീകരണം
അർജന്റീൻ ഫിൻടെക് അപ്ലിക്കേഷനുകൾക്കായി പ്രാദേശിക അല്ലെങ്കിൽ സ്റ്റേജിംഗ് പരിസ്ഥിതികൾ സജ്ജീകരിക്കുമ്പോൾ, യഥാർഥ നികുതിദായകരുടെ വിവരങ്ങളുമായി അനാവശ്യമായി കൂട്ടിക്കലർന്നുപോകാതിരിക്കാൻ യാഥാർഥ്യവത്തായ പരീക്ഷണ ഡാറ്റ ആവശ്യമാണ്. വ്യത്യസ്ത ഏന്റിറ്റി തരങ്ങൾക്കുള്ള (കമ്പനികൾ, വ്യക്തികൾ, ട്രസ്റ്റുകൾ) CUITs സൃഷ്ടിക്കുക, നിയമപരമായ അപകടം കൂടാതെ യഥാർഥ ലോക സ്സ്ഥിതിവിശേഷങ്ങൾ സിമുലേറ്റ് ചെയ്യുക.
QA പരിശോധന ഫോം വാലിഡേഷൻ
നിങ്ങളുടെ രജിസ്ട്രേഷൻ ഫോം ശരിയായ പരിശോധന അക്കങ്ങളുള്ള CUITs നിരസിക്കുന്നുണ്ടോ? ഹൈഫൻ കൂടാതെ നൽകിയ CUITs കൈകാര്യം ചെയ്യാൻ കഴിയുമോ? ഒരാൾ CUIT പകരം CUIL നൽകുമ്പോൾ തിരിച്ചറിയാൻ കഴിയുമോ? ആയിരക്കണക്കിന് രജിസ്ട്രേഷനുകൾ പ്രോസസ്സ് ചെയ്യുമ്പോൾ ഈ അതിർത്തി കേസുകൾ പ്രധാനമാണ്. വാലിഡേറ്റർ കൈവശം വയ്ക്കുന്നത് വ്യാപകമായ പരിശോധനാ കേസുകൾ തയ്യാറാക്കാൻ സഹായിക്കുന്നു.
ലാറ്റിൻ അമേരിക്കൻ നികുതി സിസ്റ്റങ്ങൾ മനസ്സിലാക്കൽ
നിങ്ങൾ വിവിധ ലാറ്റിൻ അമേരിക്കൻ വിപണികളിലേക്ക് വ്യാപിക്കുകയാണെങ്കിൽ, സമാനമെങ്കിലും വ്യത്യസ്തമായ നികുതി ഐഡി സിസ്റ്റങ്ങൾ നേരിടുന്നുണ്ട്—ബ്രസീലിന്റെ CPF/CNPJ, ചിലിയുടെ RUT, കൊളംബിയയുടെ NIT. CUIT ആൽഗോരിതം സാധാരണ പാറ്റേൺ കാണിക്കുന്നു: ഏന്റിറ്റി തരം പ്രിഫിക്സുകൾ, പരിശോധന അക്കം വാലിഡേഷൻ, മൊഡുലോ-അടിസ്ഥാനമുള്ള പരിശോധന. ഒരു സിസ്റ്റം മനസ്സിലാക്കുന്നത് മറ്റുള്ളവ പഠിക്കുന്നതിനെ വേഗത്തിലാക്കുന്നു.
CUIT വിലയിരുത്തൽ കൂടാതെ സൃഷ്ടിക്കൽ കോഡ് ഉദാഹരണങ്ങൾ
വിവിധ പ്രോഗ്രാമിംഗ് ഭാഷകളിൽ CUIT വിലയിരുത്തൽ കൂടാതെ സൃഷ്ടിക്കൽ നടപ്പിലാക്കുന്നതിനുള്ള കോഡ് ഉദാഹരണങ്ങൾ ഇവിടെ നൽകിയിരിക്കുന്നു:
JavaScript
1// JavaScript-ൽ CUIT വിലയിരുത്തൽ
2function validateCUIT(cuit) {
3 // ഏതെങ്കിലും അല്ലാത്ത അക്കങ്ങൾ നീക്കം ചെയ്യുക
4 const cleanCuit = cuit.replace(/\D/g, '');
5
6 // 11 അക്കങ്ങൾ ഉണ്ടോ എന്ന് പരിശോധിക്കുക
7 if (cleanCuit.length !== 11) {
8 return false;
9 }
10
11 // ഭാഗങ്ങൾ പുറത്തെടുക്കുക
12 const typeCode = cleanCuit.substring(0, 2);
13 const number = cleanCuit.substring(2, 10);
14 const providedVerificationDigit = parseInt(cleanCuit.substring(10, 11));
15
16 // വിലയിരുത്തൽ അക്കം കണക്കാക്കുക
17 const multipliers = [5, 4, 3, 2, 7, 6, 5, 4, 3, 2];
18 let sum = 0;
19
20 for (let i = 0; i < 10; i++) {
21 sum += parseInt(cleanCuit[i]) * multipliers[i];
22 }
23
24 const remainder = sum % 11;
25 let calculatedVerificationDigit;
26
27 if (remainder === 0) {
28 calculatedVerificationDigit = 0;
29 } else if (remainder === 1) {
30 calculatedVerificationDigit = 9;
31 } else {
32 calculatedVerificationDigit = 11 - remainder;
33 }
34
35 return calculatedVerificationDigit === providedVerificationDigit;
36}
37
38// ഉപയോഗ ഉദാഹരണം
39console.log(validateCUIT('30-12345678-1')); // true അല്ലെങ്കിൽ false
40Python
1# Python-ൽ CUIT സൃഷ്ടിക്കൽ
2import random
3
4def generate_cuit(entity_type='COMPANY'):
5 # സ്ഥാപന തരം കോഡുകൾ നിർവചിക്കുക
6 entity_types = {
7 'COMPANY': 30,
8 'ASSOCIATION': 33,
9 'FOUNDATION': 30,
10 'SOCIETY': 30,
11 'GOVERNMENT': 30,
12 'FOREIGN_COMPANY': 30,
13 'INDIVIDUAL_MALE': 20,
14 'INDIVIDUAL_FEMALE': 27,
15 'TRUST': 30
16 }
17
18 # തിരഞ്ഞെടുത്ത സ്ഥാപന തരത്തിനുള്ള കോഡ് നേടുക
19 type_code = entity_types.get(entity_type, 30)
20
21 # ക്രമരഹിതമായ 8 അക്കങ്ങൾ സൃഷ്ടിക്കുക
22 number = ''.join([str(random.randint(0, 9)) for _ in range(8)])
23
24 # വിലയിരുത്തൽ അക്കം കണക്കാക്കുക
25 multipliers = [5, 4, 3, 2, 7, 6, 5, 4, 3, 2]
26 digits = f"{type_code}{number}"
27
28 sum_products = sum(int(digits[i]) * multipliers[i] for i in range(10))
29 remainder = sum_products % 11
30
31 if remainder == 0:
32 verification_digit = 0
33 elif remainder == 1:
34 verification_digit = 9
35 else:
36 verification_digit = 11 - remainder
37
38 # CUIT ഫോർമാറ്റ് ചെയ്ത് തിരിച്ചയക്കുക
39 return f"{type_code}-{number}-{verification_digit}"
40
41# ഉപയോഗ ഉദാഹരണം
42print(generate_cuit('INDIVIDUAL_MALE'))
43PHP
1<?php
2// PHP-ൽ CUIT വിലയിരുത്തൽ
3function validateCUIT($cuit) {
4 // ഏതെങ്കിലും അല്ലാത്ത അക്കങ്ങൾ നീക്കം ചെയ്യുക
5 $cleanCuit = preg_replace('/\D/', '', $cuit);
6
7 // 11 അക്കങ്ങൾ ഉണ്ടോ എന്ന് പരിശോധിക്കുക
8 if (strlen($cleanCuit) !== 11) {
9 return false;
10 }
11
12 // ഭാഗങ്ങൾ പുറത്തെടുക്കുക
13 $typeCode = substr($cleanCuit, 0, 2);
14 $number = substr($cleanCuit, 2, 8);
15 $providedVerificationDigit = intval(substr($cleanCuit, 10, 1));
16
17 // വിലയിരുത്തൽ അക്കം കണക്കാക്കുക
18 $multipliers = [5, 4, 3, 2, 7, 6, 5, 4, 3, 2];
19 $sum = 0;
20
21 for ($i = 0; $i < 10; $i++) {
22 $sum += intval($cleanCuit[$i]) * $multipliers[$i];
23 }
24
25 $remainder = $sum % 11;
26
27 if ($remainder === 0) {
28 $calculatedVerificationDigit = 0;
29 } elseif ($remainder === 1) {
30 $calculatedVerificationDigit = 9;
31 } else {
32 $calculatedVerificationDigit = 11 - $remainder;
33 }
34
35 return $calculatedVerificationDigit === $providedVerificationDigit;
36}
37
38// ഉപയോഗ ഉദാഹരണം
39echo validateCUIT('30-12345678-1') ? 'Valid' : 'Invalid';
40?>
41Java
1// Java-ൽ CUIT സൃഷ്ടിക്കൽ കൂടാതെ വിലയിരുത്തൽ
2import java.util.Random;
3
4public class CUITUtils {
5
6 // സ്ഥാപന തരം കോഡുകൾ
7 private static final int COMPANY_CODE = 30;
8 private static final int ASSOCIATION_CODE = 33;
9 private static final int INDIVIDUAL_MALE_CODE = 20;
10 private static final int INDIVIDUAL_FEMALE_CODE = 27;
11
12 // സാധുവായ CUIT സൃഷ്ടിക്കുക
13 public static String generateCUIT(String entityType) {
14 int typeCode;
15
16 // സ്ഥാപന തരത്തിനനുസരിച്ച് കോഡ് നിർണ്ണയിക്കുക
17 switch (entityType.toUpperCase()) {
18 case "INDIVIDUAL_MALE":
19 typeCode = INDIVIDUAL_MALE_CODE;
20 break;
21 case "INDIVIDUAL_FEMALE":
22 typeCode = INDIVIDUAL_FEMALE_CODE;
23 break;
24 case "ASSOCIATION":
25 typeCode = ASSOCIATION_CODE;
26 break;
27 case "COMPANY":
28 default:
29 typeCode = COMPANY_CODE;
30 break;
31 }
32
33 // ക്രമരഹിതമായ 8 അക്കങ്ങൾ സൃഷ്ടിക്കുക
34 Random random = new Random();
35 StringBuilder number = new StringBuilder();
36 for (int i = 0; i < 8; i++) {
37 number.append(random.nextInt(10));
38 }
39
40 // വിലയിരുത്തൽ അക്കം കണക്കാക്കുക
41 String digits = String.format("%02d%s", typeCode, number.toString());
42 int verificationDigit = calculateVerificationDigit(digits);
43
44 // CUIT ഫോർമാറ്റ് ചെയ്ത് തിരിച്ചയക്കുക
45 return String.format("%02d-%s-%d", typeCode, number.toString(), verificationDigit);
46 }
47
48 // വിലയിരുത്തൽ അക്കം കണക്കാക്കുക
49 private static int calculateVerificationDigit(String digits) {
50 int[] multipliers = {5, 4, 3, 2, 7, 6, 5, 4, 3, 2};
51 int sum = 0;
52
53 for (int i = 0; i < 10; i++) {
54 sum += Character.getNumericValue(digits.charAt(i)) * multipliers[i];
55 }
56
57 int remainder = sum % 11;
58
59 if (remainder == 0) {
60 return 0;
61 } else if (remainder == 1) {
62 return 9;
63 } else {
64 return 11 - remainder;
65 }
66 }
67
68 // CUIT വിലയിരുത്തുക
69 public static boolean validateCUIT(String cuit) {
70 // ഏതെങ്കിലും അല്ലാത്ത അക്കങ്ങൾ നീക്കം ചെയ്യുക
71 String cleanCuit = cuit.replaceAll("\\D", "");
72
73 // 11 അക്കങ്ങൾ ഉണ്ടോ എന്ന് പരിശോധിക്കുക
74 if (cleanCuit.length() != 11) {
75 return false;
76 }
77
78 // വിലയിരുത്തൽ അക്കം പുറത്തെടുക്കുക
79 int providedVerificationDigit = Character.getNumericValue(cleanCuit.charAt(10));
80
81 // പ്രതീക്ഷിക്കുന്ന വിലയിരുത്തൽ അക്കം കണക്കാക്കുക
82 int calculatedVerificationDigit = calculateVerificationDigit(cleanCuit.substring(0, 10));
83
84 // വിലയിരുത്തൽ അക്കങ്ങൾ താരതമ്യം ചെയ്യുക
85 return calculatedVerificationDigit == providedVerificationDigit;
86 }
87
88 public static void main(String[] args) {
89 // ഉപയോഗ ഉദാഹരണം
90 String generatedCUIT = generateCUIT("COMPANY");
91 System.out.println("Generated CUIT: " + generatedCUIT);
92 System.out.println("Is valid: " + validateCUIT(generatedCUIT));
93 }
94}
95C#
1using System;
2using System.Text.RegularExpressions;
3
4public class CUITValidator
5{
6 // CUIT വിലയിരുത്തുക
7 public static bool ValidateCUIT(string cuit)
8 {
9 // ഏതെങ്കിലും അല്ലാത്ത അക്കങ്ങൾ നീക്കം ചെയ്യുക
10 string cleanCuit = Regex.Replace(cuit, @"\D", "");
11
12 // 11 അക്കങ്ങൾ ഉണ്ടോ എന്ന് പരിശോധിക്കുക
13 if (cleanCuit.Length != 11)
14 {
15 return false;
16 }
17
18 // വിലയിരുത്തൽ അക്കം പുറത്തെടുക്കുക
19 int providedVerificationDigit = int.Parse(cleanCuit.Substring(10, 1));
20
21 // പ്രതീക്ഷിക്കുന്ന വിലയിരുത്തൽ അക്കം കണക്കാക്കുക
22 int[] multipliers = { 5, 4, 3, 2, 7, 6, 5, 4, 3, 2 };
23 int sum = 0;
24
25 for (int i = 0; i < 10; i++)
26 {
27 sum += int.Parse(cleanCuit.Substring(i, 1)) * multipliers[i];
28 }
29
30 int remainder = sum % 11;
31 int calculatedVerificationDigit;
32
33 if (remainder == 0)
34 {
35 calculatedVerificationDigit = 0;
36 }
37 else if (remainder == 1)
38 {
39 calculatedVerificationDigit = 9;
40 }
41 else
42 {
43 calculatedVerificationDigit = 11 - remainder;
44 }
45
46 return calculatedVerificationDigit == providedVerificationDigit;
47 }
48
49 // CUIT-നെ ശരിയായ വിഭജകങ്ങളുടെ ഫോർമാറ്റിൽ മാറ്റുക
50 public static string FormatCUIT(string cuit)
51 {
52 string cleanCuit = Regex.Replace(cuit, @"\D", "");
53
54 if (cleanCuit.Length != 11)
55 {
56 return cuit; // 11 അക്കങ്ങളല്ലെങ്കിൽ യഥാർത്ഥ CUIT തിരിച്ചയക്കുക
57 }
58
59 return $"{cleanCuit.Substring(0, 2)}-{cleanCuit.Substring(2, 8)}-{cleanCuit.Substring(10, 1)}";
60 }
61}
62പശ്ചാത്തലം: അർജന്റീന ഏതുകൊണ്ട് CUIT സിസ്റ്റം അംഗീകരിച്ചത്
1990 കൾക്ക് മുൻപ്, അർജന്റീനയിലെ നികുതി തിരിച്ചറിയൽ സംവിധാനം വിഭജിക്കപ്പെട്ടതായിരുന്നു—വ്യത്യസ്ത ഏജൻസികൾ പൊരുത്തമില്ലാത്ത നമ്പർ സിസ്റ്റങ്ങൾ ഉപയോഗിച്ചിരുന്നു, ഡാറ്റാബേസുകളിൽ നികുതിദായകരെ തിരിച്ചറിയുന്നത് കഠിനമാക്കി. നികുതി ഒഴിവാക്കൽ വ്യാപകമായിരുന്നു, മാനകീകരണത്തിന്റെ അഭാവം നടപ്പിലാക്കൽ വെല്ലുവിളിയാക്കിയതിനാൽ.
AFIP 1990 കളുടെ തുടക്കത്തിൽ, പ്രസിഡന്റ് കാർലോസ് മെനം അഭിമുഖീകരിച്ച വ്യാപക സാമ്പത്തിക പരിഷ്കാരങ്ങളുടെ ഭാഗമായി CUIT അവതരിപ്പിച്ചു. സമയം അർജന്റീനയുടെ കറൻസി കൺവെർട്ടിബിലിറ്റി പദ്ധതിയുമായി ഒത്തുചേർന്നു, അമേരിക്കൻ ഡോളറുമായി പെസോ ബന്ധിപ്പിക്കുകയും കൂടുതൽ കർശനമായ സാമ്പത്തിക നിയന്ത്രണങ്ങൾ ആവശ്യപ്പെടുകയും ചെയ്തു.
സിസ്റ്റം വേഗത്തിൽ വളർന്നു:
- 1990 കളുടെ തുടക്കം: വ്യവസായങ്ങൾക്കും സ്വയം നിയോഗിതർക്കും വിതരണം ചെയ്തു
- 1990 കളുടെ മധ്യം: ജീവനക്കാരിലേക്ക് വ്യാപിപ്പിച്ചു, സാർവത്രിക നികുതിദായക രജിസ്ട്രി സൃഷ്ടിച്ചു
- 1990 കളുടെ അവസാനം: ഇലക്ട്രോണിക് ഫയലിംഗുമായി സംയോജിപ്പിച്ചു—ആ കാലഘട്ടത്തിൽ ഒരു പ്രധാന സാങ്കേതിക നേട്ടം
- 2000 കൾ മുതൽ: ബാങ്കിംഗ്, തൊഴിൽ കരാറുകൾ, അവസാനം ഇ-കൊമേഴ്സിനും നിർബന്ധമാക്കി
ഇന്ന്, അർജന്റീനയിൽ ഒരു വ്യവസായ ബാങ്ക് അക്കൗണ്ട് തുറക്കാൻ, തൊഴിൽ കരാറിൽ ഒപ്പിടാൻ, അല്ലെങ്കിൽ ഇലക്ട്രോണിക് ഇൻവോയ്സ് നൽകാൻ CUIT ഇല്ലാതെ കഴിയില്ല. ഇത് അമേരിക്കയിലെ സാമൂഹ്യ സുരക്ഷാ നമ്പറുകൾ പോലെ, സമ്പൂർണ്ണ ഔപചാരിക സമ്പദ്വ്യവസ്ഥയുടെ അടിസ്ഥാന തിരിച്ചറിയൽ ആയി മാറിയിരിക്കുന്നു—അർജന്റീനയുടെ വ്യക്തിഗത ഡാറ്റ സംരക്ഷണ നിയമം 25,326 അനുസരിച്ചുള്ള സ്വകാര്യത സംരക്ഷണവും ഉപയോഗ നിയന്ത്രണങ്ങളുമടക്കം.
വ്യക്തമായ ചോദ്യങ്ങൾ
അർജന്റീനയിൽ CUIT നമ്പർ എന്താണ്?
CUIT (Código Único de Identificación Tributaria) അർജന്റീനയിലെ വ്യക്തികൾക്കും വ്യവസായങ്ങൾക്കുമുള്ള നികുതി തിരിച്ചറിയൽ നമ്പർ ആണ്. ഇത് XX-XXXXXXXX-X എന്ന ഫോർമാറ്റിൽ 11 അക്കങ്ങളുള്ള കോഡ് ആണ്, AFIP (ഫെഡറൽ നികുതി അധികാര സ്ഥാനം) ഔദ്യോഗിക സാമ്പത്തിക പ്രവർത്തനം നടത്തുന്ന ഏവർക്കും നൽകുന്നത് - ബാങ്ക് അക്കൗണ്ട് തുറക്കുന്നതിൽ നിന്ന് ഇൻവോയ്സ് നൽകുന്നതുവരെ.
ഒരു CUIT യഥാർഥമാണോ വ്യാജമാണോ എന്ന് എങ്ങനെ പരിശോധിക്കാം?
ഞങ്ങളുടെ ഉപകരണം കണക്കിന്റെ സ്ട്രക്ചർ പരിശോധിക്കുന്നു - ശരിയായ ഫോർമാറ്റ്, സാധുവായ എന്റിറ്റി തരം കോഡ്, കൃത്യമായ പരിശോധന അക്കം. എന്നിരുന്നാലും, AFIP-ൽ രജിസ്റ്റർ ചെയ്തിട്ടുണ്ടോ എന്ന് പറയാൻ കഴിയില്ല. ഔദ്യോഗിക പരിശോധനയ്ക്ക്, AFIP-യുടെ Constancia de Inscripción സേവനം ഉപയോഗിക്കുക, അവരുടെ ഡാറ്റാബേസിനെ അന്വേഷിക്കുന്നു. ഞങ്ങളുടെ ഉപകരണത്തെ സ്പെൽ-ചെക്ക് പോലെ കരുതുക: ഫോർമാറ്റിംഗ് പിഴവുകൾ കണ്ടെത്തുന്നു, പക്ഷേ യഥാർഥത്വം പരിശോധിക്കുന്നില്ല.
CUIT-ഉം CUIL-ഉം തമ്മിലുള്ള വ്യത്യാസം എന്താണ്?
രണ്ടും തന്നെ സമാനമായ 11 അക്ക ഫോർമാറ്റും ഒരേ വാലിഡേഷൻ അൽഗോരിതവും ഉപയോഗിക്കുന്നു. വ്യത്യാസം:
- CUIT: സാമ്പത്തിക പ്രവർത്തനങ്ങൾ നടത്തുന്ന നികുതിദായകർക്ക് (വ്യവസായങ്ങൾ, സ്വയം നിയോഗിക്കപ്പെട്ട പ്രൊഫഷണലുകൾ, ഫ്രീലാൻസർമാർ)
- CUIL: സ്വതന്ത്ര വ്യവസായ പ്രവർത്തനങ്ങളില്ലാതെ തൊഴിൽ കരാറിൻ കീഴിൽ പ്രവർത്തിക്കുന്ന ജീവനക്കാർക്ക്
പ്രാക്ടിക്കൽ തലത്തിൽ, പലരും CUIT-ൽ ആവശ്യപ്പെട്ടാൽ തങ്ങളുടെ CUIL ഉപയോഗിക്കുകയും സിസ്റ്റങ്ങൾ രണ്ടും തുല്യമായി സ്വീകരിക്കുകയും ചെയ്യുന്നു. സാങ്കേതിക വ്യത്യാസം നിയമപരവും അക്കൗണ്ടിംഗ് സന്ദർഭങ്ങളിലുമാണ് കൂടുതൽ പ്രസക്തം.
ഞാൻ ജനറേറ്റ് ചെയ്ത CUITs യഥാർഥ ഇടപാടുകൾക്ക് ഉപയോഗിക്കാമോ?
അബ്ദ്ധമായി അല്ല. ജനറേറ്റ് ചെയ്ത CUITs കണക്കിൽ സാധുവാണ്, പക്ഷേ AFIP-ൽ രജിസ്റ്റർ ചെയ്തിട്ടില്ല. ഇവ ഔദ്യോഗിക രേഖകൾ, കരാറുകൾ, അല്ലെങ്കിൽ നികുതി ഫയലിംഗിനായി ഉപയോഗിക്കുന്നത് അർജന്റീൻ നിയമപ്രകാരം തട്ടിപ്പാണ്. ഇവ ഉപയോഗിക്കുക:
- സോഫ്റ്റ്വെയർ വികസനവും പരിശോധനയും
- QA & സ്റ്റേജിംഗ് പരിസരങ്ങൾ
- വിദ്യാഭ്യാസ പ്രദർശനങ്ങൾ
- ഡാറ്റ അഖണ്ഡത വാലിഡേഷൻ
(ബാക്കി ഭാഗം തുടരുന്നു...)
ഔദ്യോഗിക അനുമതികൾ കൂടാതെ കൂടുതൽ വായനയ്ക്കുള്ള വിവരങ്ങൾ
-
ഫെഡറൽ വരുമാന വകുപ്പ് (AFIP) - അർജന്റീനയുടെ ഔദ്യോഗിക നികുതി അധികാര സ്ഥാനം https://www.afip.gob.ar/
-
AFIP സർട്ടിഫിക്കറ്റ് രജിസ്ട്രേഷൻ - ഔദ്യോഗിക CUIT പരിശോധന സേവനം https://www.afip.gob.ar/genericos/consultaCUIT/
-
നിയമം 11.683 നികുതി നടപടിക്രമം - CUIT ആവശ്യകതകൾ സ്ഥാപിക്കുന്ന നികുതി നടപടിക്രമ നിയമം അർജന്റീന റിപ്പബ്ലിക്കിന്റെ ഔദ്യോഗിക ബുള്ളറ്റിൻ
-
ജനറൽ തീരുമാനം AFIP 1817/2005 - രജിസ്ട്രേഷൻ കൂടാതെ തിരിച്ചറിയൽ നടപടിക്രമങ്ങൾ ഔദ്യോഗിക AFIP രേഖകൾ
-
നിയമം 25.326 വ്യക്തിഗത വിവര സംരക്ഷണം - CUIT ഉപയോഗം നിയന്ത്രിക്കുന്ന വ്യക്തിഗത വിവര സംരക്ഷണ നിയമം https://www.argentina.gob.ar/aaip/datospersonales
-
യുണൈറ്റഡ് നേഷൻസ് ECLAC - "ലാറ്റിൻ അമേരിക്കയിലെ നികുതി നയം: വിലയിരുത്തൽ കൂടാതെ മാർഗനിർദ്ദേശങ്ങൾ" ഗോമെസ് സബൈനി, ജെ.സി., & മൊറാൻ, ഡി. (2016) - അർജന്റീന ഉൾപ്പെടെയുള്ള നികുതി സിസ്റ്റങ്ങളുടെ താരതമ്യ വിശകലനം
-
നികുതി ഭരണ ജേണൽ - നികുതി തിരിച്ചറിയൽ സിസ്റ്റങ്ങൾ കൂടാതെ പരിശോധന അൽഗോരിതം https://www.jota.website/
CUIT വാലിഡേഷനുമായി തുടങ്ങുക
അര്ജന്റീന് വ്യാപാരികള്ക്കുള്ള പേയ്മെന്റ് ഗേറ്റ്വേ നിര്മ്മിക്കുന്നതിനോ, പഴയ ഉപഭോക്തൃ ഡാറ്റാബേസുകള് മൈഗ്രേറ്റ് ചെയ്യുന്നതിനോ, അല്ലെങ്കില് നിങ്ങളുടെ ഇ-കൊമേഴ്സ് പ്ലാറ്റ്ഫോമിന്റെ AFIP ആവശ്യകതകളുമായി അനുപാലനം പരിശോധിക്കുന്നതിനോ, ഈ ഉപകരണം നിങ്ങളെ CUITs വിഷയത്തില് വിശ്വാസത്തോടെ പ്രവര്ത്തിക്കാന് സഹായിക്കുന്നു.
സ്റ്റേജിംഗ് പരിസ്ഥിതിയെ തകര്ക്കാത്ത പരീക്ഷണ ഡാറ്റ സൃഷ്ടിക്കുക. മൈഗ്രേഷന് മുമ്പ് ഡാറ്റാസെറ്റുകള് വാലിഡേറ്റ് ചെയ്യുക. അര്ജന്റീന്ന്റെ നികുതി തിരിച്ചറിയല് സിസ്റ്റത്തിന്റെ അല്ഗോരിതം മനസ്സിലാക്കുക.
API കീകള് ഇല്ല. നിരക്ക് പരിധികള് ഇല്ല. അനാവശ്യ സവിശേഷതകള് ഇല്ല. നിങ്ങള്ക്ക് ആവശ്യമുള്ളപ്പോള് വിശ്വസനീയമായ CUIT ജനറേഷനും വാലിഡേഷനും മാത്രം.