CUIT/CUIL జనరేటర్ & వ్యాలిడేటర్ | అర్జెంటీనా పన్ను ID టూల్
చెల్లుబాటు అయ్యే అర్జెంటీనా CUIT/CUIL పరీక్షా సంఖ్యలను జనరేట్ చేయండి లేదా ఇప్పటికే ఉన్నవాటిని తనిఖీ చేయండి. డెవలపర్లు పన్ను ID మరియు జీతపు వ్యవస్థలను AFIP-అనుకూల సearచనతో పరీక్షించడానికి ఉచిత ఆన్లైన్ టూల్.
CUIT/CUIL జనరేటర్
8 అంకెల DNI నంబర్ నమోదు చేయండి లేదా యాదృఛ్ఛిక జనరేటర్ ఉపయోగించండి
యాదృఛ్ఛిక రూపంలో తయారు చేయబడిన DNI ఉపయోగిస్తోంది
దస్త్రపరిశోధన
అర్జెంటీనా CUIT/CUIL జనరేటర్ మరియు వెరిఫయర్
పరిచయం
అర్జెంటీనా యొక్క పన్ను మరియు కార్మిక వ్యవస్థలలో, మీరు రెండు కీలక గుర్తింపు సంఖ్యలను నిరంతరం ఎదుర్కొంటారు: CUIT (సెంట్రల్ యూనిక్ ఐడెంటిఫికేషన్ ట్రిబ్యూటరీ) మరియు CUIL (సెంట్రల్ యూనిక్ ఐడెంటిఫికేషన్ లేబర్). CUIT ను వ్యాపారాలు మరియు పన్ను చెల్లించే వ్యక్తుల కోసం పన్ను గుర్తింపు ID గా భావించండి, అయితే CUIL సామాజిక భద్రతా వ్యవస్థలో కార్మికులను గుర్తిస్తుంది. రెండూ 11 అంకెల ఫార్మాట్ మరియు తనిఖీ అల్గోరిథం వాడతాయి, ఇది ఈ సంఖ్యలను నిర్వహించే అప్లికేషన్లను పరీక్షించడం ముఖ్యంగా महत్వపూర్ణం.
అర్జెంటీనా మార్కెట్ కోసం సాఫ్ట్వేర్ అభివృద్ధి చేసేటప్పుడు, మీకు చెల్లుబాటు అయ్యే పరీక్షా డేటా అవసరం. అక్కడ ఈ సాధనం సహాయం చేస్తుంది. మీరు వాస్తవ వ్యక్తిగత సమాచారాన్ని వాడకుండా గణితపరంగా సరైన CUIT/CUIL సంఖ్యలను తయారు చేయవచ్చు, లేదా ఇప్పటికే ఉన్న సంఖ్యలను AFIP యొక్క అధికారిక అల్గోరిథం నుండి సరిచూడవచ్చు. ఇందులో ప్రత్యేకంగా ఉపయోగకరమైనది ఏమిటంటే, సాధనం రెండు వైపుల్ని నిర్వహిస్తుంది (అవసరమైనప్పుడు చెల్లుబాటు అయ్యే సంఖ్యలను తయారు చేయడం) మరియు తనిఖీ వైపు (ఉత్పత్తి సమస్యలు రాకుండా ఫార్మాట్ లోపాలు, చెల్లని రకం కోడ్లు, తప్పుడు తనిఖీ అంకెలను అరికట్టడం).
CUIT/CUIL నిర్మాణం మరియు గణన
నిర్మాణాన్ని అర్థం చేసుకోవడం
చెల్లుబాటు అయ్యే CUIT/CUIL సంఖ్య 11 అంకెలతో కూడి ఉంటుంది, సాధారణంగా XX-XXXXXXXX-X రూపంలో ప్రదర్శించబడుతుంది. ఇది ఎలా విభజించబడుతుందో ఇక్కడ వివరించబడింది:
-
రకం కోడ్ (మొదటి 2 అంకెలు): సంస్థ రకాన్ని గుర్తిస్తుంది
- 20, 23, 24: పురుష వ్యక్తులు (CUIL)
- 27: మహిళా వ్యక్తులు (CUIL)
- 30, 33, 34: కంపెనీలు మరియు సంస్థలు (CUIT)
-
DNI సంఖ్య (మధ్య 8 అంకెలు): వ్యక్తుల కోసం, ఇది వారి జాతీయ గుర్తింపు పత్రం సంఖ్య (DNI). సాధారణ తప్పిదం: వాస్తవ DNI 8 అంకెలకు తక్కువ ఉంటే, మీరు దాన్ని ఆరంభపు సున్నాలతో నింపాలి. ఉదాహరణకు, DNI 1234567 CUIT/CUIL లో 01234567 అవుతుంది. కంపెనీలు బదులుగా ఒక అద్వితీయ నిర్దిష్ట సంఖ్యను పొందుతాయి.
-
తనిఖీ అంక (చివరి అంక): ఈ తనిఖీ అంకం బరువు అల్గోరిథం ఉపయోగించి మొత్తం సంఖ్యను ధృవీకరిస్తుంది. ఈ అంకం గణనతో సరిపోలకపోతే, మొత్తం CUIT/CUIL చెల్లదు - ఇది తరచుగా పరీక్ష డేటాను మాన్యువల్గా నిర్మించేటప్పుడు డెవలపర్లను అనుకోకుండా పట్టుకుంటుంది.
తనిఖీ అంక గణన
తనిఖీ అంకం మోడులో-11 బరువు అల్గోరిథం ఉపయోగిస్తుంది. ఇది ఎలా పని చేస్తుందో ఇక్కడ వివరించబడింది:
- CUIT/CUIL యొక్క మొదటి 10 అంకెలను తీసుకోండి (రకం కోడ్ + DNI)
- ప్రతి అంకాన్ని దాని సంబంధిత బరువుతో గుణించండి: 5, 4, 3, 2, 7, 6, 5, 4, 3, 2
- అన్ని ఉత్పత్తులను సంకలనం చేయండి
- గణించండి: 11 నుండి (సంకలనం మోడులో 11)
- అంచెల సందర్భాలను నిర్వహించండి: ఫలితం 11 అయితే 0 ఉపయోగించండి; 10 అయితే 9 ఉపయోగించండి
5 వ దశలో ఆ అంచెల సందర్భాలు మోస్ట్ తరచుగా ప్రజలను తప్పుకు నడిపిస్తాయి. పరీక్ష చేసేటప్పుడు, మీరు సాధారణంగా 10 లేదా 11 ఫలితం పొందుతారు, మరియు ఈ నियమాన్ని మరిచిపోవడం వల్ల తనిఖీ వైఫల్యాలు సంభవిస్తాయి, ఈ నియమం గురించి తెలియకుంటే డీబగ్ చేయడం కష్టం.
గణిత పరంగా, ఇది ఇలా వ్యక్తీకరించబడుతుంది:
ఎక్కడ:
- తనిఖీ అంకం
- మొదటి 10 అంకెల యొక్క -వ అంకం
- [5, 4, 3, 2, 7, 6, 5, 4, 3, 2] అనుక్రమం నుండి సంబంధిత బరువు
- ప్రత్యేక సందర్భాలు: అయితే , అయితే
దశ-వారీ మార్గదర్శకం
జెనరేటర్ ఉపయోగించడం
-
"జెనరేటర్" ట్యాబ్ ఎంచుకోండి సాధనం అంతరవ్యవస్థ పైన.
-
ప్రకार కోడ్ ఎంచుకోండి డ్రాప్డౌన్ మెనూ నుండి:
- 20: పురుషుడు (CUIL)
- 23: వ్యాపారం (CUIT)
- 24: తాత్కాలిక వ్యాపారం (CUIT)
- 27: మహిళ (CUIL)
- 30: సంఘం (CUIT)
- 33: సివిల్ సంఘం (CUIT)
- 34: ప్రతిష్ఠ (CUIT)
-
DNI నంబర్ నమోదు చేయండి (ఐచ్ఛికం):
- 8 అంకెల DNI నంబర్ ను సమర్పించిన బాక్స్లో నమోదు చేయండి
- ఖాళీగా ఉంటే, సాధనం యాదృచ్ఛిక DNI ఉత్పత్తి చేస్తుంది
- 8 అంకెలకు తక్కువ నమోదు చేస్తే, సిస్టం ఆదిలో సున్నాలు జోడిస్తుంది
-
యాదృచ్ఛిక DNI ఉత్పత్తి (ఐచ్ఛికం):
- 8 అంకెల DNI నంబర్ ను ఉత్పత్తి చేయడానికి "యాదృచ్ఛిక" బటన్ నొక్కండి
-
ఉత్పన్నమైన CUIT/CUIL చూడండి:
- సాధనం స్వయంగా మీ ఇన్పుట్లపై ఆధారపడి చెల్లుబాటు అయ్యే CUIT/CUIL ప్రదర్శిస్తుంది
- ఫార్మాట్ XX-XXXXXXXX-X వరిఫికేషన్ అంకెతో ఉంటుంది
-
ఫలితాన్ని కాపీ చేయండి:
- CUIT/CUIL ను మీ క్లిప్బోర్డ్కు కాపీ చేయడానికి కాపీ చిహ్నాన్ని నొక్కండి
- విజయవంతంగా కాపీ చేసిన తర్వాత నిర్ధారణ సందేశం కనిపిస్తుంది
వాలిడేటర్ ఉపయోగించడం
-
"వాలిడేటర్" ట్యాబ్ ఎంచుకోండి సాధనం అంతరవ్యవస్థ పైన.
-
వాలిడేట్ చేయడానికి CUIT/CUIL నమోదు చేయండి:
- XX-XXXXXXXX-X ఫార్మాట్లో CUIT/CUIL నమోదు చేయండి
- సాధనం మీ ఇన్పుట్ నొక్కినప్పుడు స్వయంగా హైఫన్లతో ఫార్మాట్ చేస్తుంది
- హైఫన్లు లేకుండా (XXXXXXXXXXX) కూడా నమోదు చేయవచ్చు
-
"వాలిడేట్" బటన్ నొక్కండి:
- సాధనం ఫార్మాట్, ప్రకార కోడ్ మరియు వెరిఫికేషన్ అంకెను తనిఖీ చేస్తుంది
-
వాలిడేషన్ ఫలితం చూడండి:
- చెల్లుబాటు అయ్యే CUIT/CUIL నంబర్లకు, ఆకుపచ్చ విజయ సందేశం కనిపిస్తుంది
- చెల్లని నంబర్లకు, ఎర్ర దోష సందేశం కారణాన్ని వివరిస్తుంది:
- చెల్లని ఫార్మాట్ (XX-XXXXXXXX-X అయి ఉండాలి)
- చెల్లని ప్రకార కోడ్ (20, 23, 24, 27, 30, 33, 34 లలో ఒకటి అయి ఉండాలి)
- చెల్లని వెరిఫికేషన్ అంక
-
అదనపు సమాచారం:
- చెల్లుబాటు అయ్యే నంబర్లకు, సాధనం భాగాల వివరాలను ప్రదర్శిస్తుంది:
- ప్రకార కోడ్ మరియు దాని అర్థం
- DNI నంబర్
- వెరిఫికేషన్ అంక
- చెల్లుబాటు అయ్యే నంబర్లకు, సాధనం భాగాల వివరాలను ప్రదర్శిస్తుంది:
సాధారణ తప్పులు మరియు ఉత్తమ పద్ధతులు
CUIT/CUIL నిర్ధారణతో అప్లికేషన్లలో పని చేసేటప్పుడు, ఈ సాధారణ తప్పులకు జాగ్రత్త వహించండి:
జీరో-పాడింగ్ సమస్యలు: నేను ఎదుర్కొన్న అత్యంత సాధారణ బగ్ లో అగ్ర సంఖ్యలతో DNI సంఖ్యలు ఉంటాయి. ఎవరైనా DNI "1234567" నమోదు చేసినప్పుడు, CUIT/CUIL నిర్మాణం కోసం "01234567" గా చూడాలి. చాలా అమలుకు సంఖ్యలను పూర్తి సంఖ్యలుగా మార్చుతాయి, ఇది అగ్ర సంఖ్యలను తీసివేస్తుంది. బదులుగా సరైన పాడింగ్ తో స్ట్రింగ్ ఆపరేషన్లను వాడండి.
రకం కోడ్ గందరగోళం: అన్ని రెండు అంకెల సంఖ్యలు సరైన రకం కోడ్ కాదు. కేవలం 20, 23, 24, 27, 30, 33, 34 మాత్రమే పని చేస్తాయి. నేను "21-12345678-X" వంటి "సరైన-కనిపించే" సంఖ్యలను అంగీకరించే సిస్టమ్లను చూశాను, ఇవి AFIP నిర్ధారణను విఫలం చేస్తాయి. సత్యాన్ని నిర్ధారించే అంకెను లెక్కించే ముందు రకం కోడ్ను ఎల్లప్పుడూ నిర్ధారించండి.
లింగ రూఢి: రకం కోడ్ 20 (పురుషుడు) మరియు 27 (స్త్రీ) పరస్పరం మారుప్రోవు. RENAPER (అర్జెంటీనా జాతీయ రిజిస్ట్రీ) తో నమోదు చేసిన వాస్తవ లింగం తో రకం కోడ్ సరిపోలుతుందని నిర్ధారించుకోండి. అసంతుళితత్వం వ్యక్తులు ప్రభుత్వ సేవలను ఉపయోగించేటప్పుడు తిరస్కరించబడుతుంది.
హైఫన్ నిర్వహణ: కొన్ని అమలుకు హైఫన్లను అవసరం చేస్తాయి, మరికొన్ని తిరస్కరిస్తాయి. ఉత్తమ పద్ధతి: ఇన్పుట్ ఫీల్డ్లలో రెండు ఫార్మాట్లను (హైఫన్లతో లేదా లేకుండా) అంగీకరించండి, నిర్ధారణ కోసం హైఫన్లను తీసివేయండి, డేటాబేస్లలో అహైఫన్ వెర్షన్ను నిల్వ చేయండి, మరియు కేవలం ప్రదర్శన ప్రయోజనాల కోసం మాత్రమే హైఫన్లను జోడించండి.
తప్పిన నిర్ధారణ: అల్గోరిథం నిర్ధారణ ఫార్మాట్ లోపాలను పట్టుకుంటుంది, కాని CUIT/CUIL నమోదు అయిందని నిర్ధారించదు. ఉత్పత్తి సమయంలో, ముందుగా ఫార్మాట్ను నిర్ధారించండి (వేగంగా), తరువాత AFIP డేటాబేస్ (నెమ్మదిగా కానీ అధికారిక) నుండి నిర్ధారించండి. ఈ రెండు దశల విధానం తక్షణంగా టైపోలను పట్టుకుంటుంది, అయితే సంఖ్య నిజం అని నిర్ధారిస్తుంది.
అంచెల పరీక్ష: ఎల్లప్పుడూ 0 మరియు 9 నిర్ధారణ అంకెలతో పరీక్ష చేయండి - ఇవి అల్గోరిథంలోని ప్రత్యేక సందర్భాలలో వస్తాయి. అలాగే మీ పాడింగ్ లాజిక్ సరిగ్గా పని చేస్తుందో నిర్ధారించుకోవడం కోసం సున్నా నుండి DNI సంఖ్యలను కూడా పరీక్షించండి.
వాడుక సందర్భాలు మరియు ప్రాక్టికల్ అనువర్తనాలు
అభివృద్ధి మరియు పరీక్ష
సాఫ్ట్వేర్ అభివృద్ధి: అర్జెంటీనా మార్కెట్ కోసం అప్లికేషన్లు నిర్మిస్తున్నప్పుడు, వాస్తవ వినియోగదారు సమాచారం వాడకుండా వాలిడేషన్ పాస్ చేసే టెస్ట్ డేటా అవసరం. ఇక్కడ ఇది కీలకం:
- ఈ-కామర్స్ ప్లాట్ఫాంలు: చెల్లింపు ప్రోసెసర్లు మరియు బిల్లింగ్ సిస్టమ్లు చెల్లుబాటు అయ్యే CUIT/CUIL నంబర్లు అవసరం. లోడ్ టెస్టింగ్ సమయంలో, రియాలిస్టిక్ వినియోగదారు నమోదులను సిమ్యులేట్ చేయడానికి వేలాది చెల్లుబాటు అయ్యే నంబర్లు అవసరం.
- అకౌంటింగ్ సాఫ్ట్వేర్: పన్ను నివేదిక మాడ్యూళ్లు AFIP కు సమర్పించడానికి CUIT/CUIL ఫార్మాట్ తనిఖీ చేస్తాయి. ఈ వాలిడేషన్ నిబంధనలను పరీక్షించడానికి చెక్ అంక సూత్రాన్ని పాస్ చేసే నంబర్లు అవసరం.
- HR నిర్వహణ సిస్టమ్లు: జీతాల ప్రాసెసింగ్ మరియు సామాజిక భద్రత సంకేతాలు చెల్లుబాటు అయ్యే CUIL నంబర్లపై ఆధారపడి ఉంటాయి. సాధారణ సన్నివేశం: మీరు ఉద్యోగి నమోదు ప్రవాహాలను పరీక్షిస్తున్నారు మరియు చెల్లని CUIL లు సరైన దోషపు సందేశాలను ట్రిగర్ చేస్తాయో తనిఖీ చేయాలి.
- బ్యాంకింగ్ అప్లికేషన్లు: KYC (కస్టమర్ నోవ్ చేయడం) ప్రక్రియలు ఖాతా తెరవడంలో CUIT/CUIL ని వాలిడేట్ చేస్తాయి. నా అనుభవంలో, రకం కోడ్ అసంకలనాలు వంటి ఎడ్జ్ కేసులు ఇంటిగ్రేషన్ టెస్టింగ్ సమయంలో తరచుగా కనిపిస్తాయి.
డేటాబేస్ నింపడం: టెస్ట్ డేటాబేస్లను నింపేటప్పుడు, అల్గోరిథం ద్వారా చెల్లుబాటు అయ్యే CUIT/CUIL నంబర్లను వాడటం వలన మీ డేటాబేస్ నిబంధనలు మరియు ట్రిగర్లు అected్ అవుతాయో నిర్ధారించుకోవచ్చు. ఇది డేటా మైగ్రేషన్ స్క్రిప్ట్లు లేదా గుర్తింపు నంబర్లను వాలిడేట్ చేసే ETL ప్రక్రియలను పరీక్షించేటప్పుడు ప్రత్యేకంగా ముఖ్యం.
ఫారం వాలిడేషన్ పరీక్ష: సంతోషకరమైన మార్గం మరియు దోషపు పరిస్థితులను రెండింటినీ పరీక్షించండి. సఫల సమర్పణను నిర్ధారించడానికి చెల్లుబాటు అయ్యే నంబర్లను సృష్టించి, తరువాత సత్యాంకం అంకను మార్చి, మీ ఫ్రంట్యెండ్ మరియు బ్యాక్యెండ్ వాలిడేషన్ ఎలా దోషాన్ని పట్టుకుంటుందో నిర్ధారించుకోండి.
API పరీక్ష: ఇంటిగ్రేషన్ టెస్ట్లు రిక్వెస్ట్ పేలోడ్లలో చెల్లుబాటు అయ్యే CUIT/CUIL నంబర్లను వాడాలి. ఇది API లాజిక్లోని వాస్తవిక బగ్ల కంటే తప్పుడు టెస్ట్ డేటా కారణంగా టెస్ట్లు విఫలం కాకుండా నిరోధిస్తుంది.
QA ఆటోమేషన్: పారామీటరైజ్డ్ టెస్ట్లు డైనమిక్ CUIT/CUIL జనరేషన్ నుంచి ప్రయోజనం పొందుతాయి. టెస్ట్ రన్లలో సంఘర్షణ కలిగించే హార్డ్కోడ్ చేసిన టెస్ట్ విలువలు వాడటం బదులు, ప్రతి టెస్ట్ నిర్వహణ కోసం కొత్త చెల్లుబాటు అయ్యే నంబర్లను సృష్టించండి.
(ఇంకా కొనసాగుతుంది...)
CUIT/CUIL సిస్టం చరిత్ర
అర్జెంటీనాలో CUIT/CUIL గుర్తింపు సిస్టం దాని ప్రారంభం నుండి గణనీయంగా అభివృద్ధి చెందింది:
మూలాలు మరియు అమలు
CUIT (సంపూర్ణ పన్ను గుర్తింపు కీ) ను మొదట 1970 వ దశకంలో అర్జెంటీనాలో పన్ను సేకరణ సిస్టం ఆధునీకరణ ప్రయత్నంగా పరిచయం చేయడం జరిగింది. సమాఖ్య పబ్లిక్ ఆదాయ నిర్వహణ (AFIP) ఈ అద్వితీయ గుర్తింపును పన్ను చెల్లించేవారిని మరింత సమర్ధవంతంగా ట్రాక్ చేయడానికి మరియు పన్ను తప్పింపును తగ్గించడానికి అమలు చేసింది.
CUIL (సంపూర్ణ కార్మిక గుర్తింపు కీ) తర్వాత సామాజిక భద్రతా సిస్టంలో కార్మికులను నిర్దిష్టంగా గుర్తించడానికి పరిచయం చేయడం జరిగింది, పన్ను గుర్తింపు మరియు కార్మిక గుర్తింపు మధ్య వ్యత్యాసం సృష్టించడం, అయితే సాటి ఫార్మాట్ నిలబెట్టుకోవడం.
అభివృద్ధి మరియు డిజిటలైజేషన్
1990 వ దశకంలో, అర్జెంటీనా ఆర్ధిక సంస్కరణలను అనుభవిస్తున్నప్పుడు, CUIT/CUIL సిస్టం ఆర్ధిక కార్యకలాపాలను ట్రాక్ చేయడంలో మరింత महत्వపూర్ణం అయ్యింది. సిస్టం మరింత డిజిటలైజ్ చేయబడింది, మరియు ఆన్లైన్ ధృవీకరణ సిస్టమ్లు అమలు చేయబడ్డాయి.
ప్రారంభ 2000 వ దశకం CUIT/CUIL సిస్టం వివిధ డిజిటల్ ప్రభుత్వ సేవలతో అనుసంధానం చేయబడిన సమయం, అర్జెంటీనా ఇ-గవర్నెన్స్ కార్యక్రమాల యొక్క ముఖ్య భాగం. ఈ కాలంలోనే ధృవీకరణ అల్గోరిథం మరియు ఫార్మాట్ ప్రమాణీకరించబడి, ఇప్పటికీ వాడుకలో ఉంది.
ఇటీవలి అభివృద్ధులు
ఇటీవలి సంవత్సరాలలో, AFIP CUIT/CUIL సంఖ్యల కోసం భద్రతా మరియు ధృవీకరణ ప్రక్రియలను మెరుగుపరిచింది, మరింత సంక్లిష్ట ధృవీకరణ సిస్టమ్లను అమలు చేసి, ఇతర ప్రభుత్వ డేటాబేస్లతో అనుసంధానం చేసింది. ఈ సిస్టం ప్రస్తుతం అర్జెంటీనా యొక్క పన్ను తప్పింపుతో పోరాడే మరియు ఆర్ధిక వ్యవస్థను అధికారిక రూపంలో తీసుకురాగల ప్రయత్నాలలో ముఖ్య పాత్ర పోషిస్తోంది.
నేడు, CUIT/CUIL ను కేవలం పన్ను మరియు ఉపాధి ఉద్దేశ్యాల కోసం మాత్రమే కాకుండా బ్యాంకింగ్, ఆస్తి లావాదేవీలు, వినియోగ సేవలు, మరియు ఆన్లైన్ కొనుగోళ్ళ వంటి వ్యాప్త కార్యకలాపాల కోసం కూడా వాడుకుంటారు, అర్జెంటీనాలో వ్యక్తులు మరియు వ్యాపారాలకు ఇది ఒక అత్యంత అవసరమైన గుర్తింపు.
అమలు చేయు అంశాలు
మీ సొంత సిస్టమ్లో CUIT/CUIL ధృవీకరణను అమలు చేసేటప్పుడు, ఈ సాంకేతిక అంశాలను పరిగణించండి:
అల్గోరిథం స్థిరత: ప్రస్తుత CUIT/CUIL ధృవీకరణ అల్గోరిథం 1990 వరకు మారకుండా ఉంది. AFIP యొక్క సాంకేతిక పత్రాలుకి అనుగుణంగా, మోడులో-11 వెయిటెడ్ చెక్ అంకెల విధానం Resolución General 2854/2010 మరియు తదుపరి నిబంధనలలో సంకేతీకరించబడింది. ఈ స్థిరత అర్థం అమలు చేయడం అరుదుగా నవీకరణలు అవసరం, కానీ ఏదైనా నियంత్రణ మార్పుల కోసం AFIP ప్రకటనలను పర్యవేక్షించాలి.
పనితీరు ఆప్టిమైజేషన్: ధృవీకరణ అల్గోరిథం గణనాత్మకంగా చౌక—కేవలం 10 గుణకాలు, ఒక సంకలనం, మరియు ఒక మోడులో ఆపరేషన్. ప్రతి సెకనుకు వేలాది ధృవీకరణలు సంసాధించే అధిక-స్రోతస్సు సిస్టమ్లలో, బాటిలెక్ సాధారణంగా AFIP డేటాబేస్ ధృవీకరణ నెట్వర్క్ లేటెన్సీ, అల్గోరిథం కాదు. తాజాతనం మరియు పనితీరు మధ్య సమతుల్యం కోసం, AFIP ధృవీకరణ ఫలితాలను తగిన TTLలతో (సాధారణంగా 24 గంటలు) కాష్ చేయండి.
అక్షర ఎన్కోడింగ్: బాహ్య వనరుల నుండి CUIT/CUIL డేటాను సంసాధించేటప్పుడు (PDFలు, స్కాన్ చేసిన పత్రాలు, వెబ్ స్క్రేపింగ్), అక్షర ఎన్కోడింగ్ సమస్యలకు జాగ్రత్త వహించండి. హైఫన్ ఎం-డాష్ (U+2014), ఎన్-డాష్ (U+2013), లేదా మైనస్ సంకేతం (U+2212) వంటి రూపాలలో కనిపించవచ్చు, సాధారణ హైఫన్-మైనస్ (U+002D) బదులు. ఫాల్సు నెగెటివ్లను నివారించడం కోసం ధృవీకరణకు ముందు వీటిని సాధారణీకరించండి.
అంతర్జాతీయీకరణ: మీ అప్లికేషన్ బహుళ లాటిన్ అమెరికన్ మార్కెట్లకు సేవ చేస్తే, అర్జెంటీనా యొక్క CUIT/CUIL మోడులో-11ని నిర్దిష్ట బరువులతో, చిలీ యొక్క RUT వేరే బరువులతో మోడులో-11, మరియు బ్రెజిల్ CPF/CNPJ మరొక నమూనాతో మోడులో-11 వాడుతుంది. అల్గోరిథంలు అనుకోకండి—ప్రతి దేశం యొక్క సిస్టంకు విభిన్న నిబంధనలు ఉంటాయి. చెక్ అంకెల అల్గోరిథంల యొక్క విస్తృత అర్థం కోసం, ISO/IEC 7064 ప్రమాణంను చూడండి, ఇది వివిధ మోడులో-ఆధారిత ధృవీకరణ పథకాలను అధికారికంగా చేస్తుంది.
డేటాబేస్ నిల్వ: CUIT/CUIL సంఖ్యలను హైఫన్లు లేకుండా స్థిర-నిండు CHAR(11) లేదా BIGINT గా నిల్వ చేయండి, మీ డేటాబేస్ 11 అంకెల పూర్ణాంకాలను ఖచ్చితత్వం కోల్పోకుండా తీసుకుంటే. దుర్బలమైన డేటా నుండి రక్షణగా, ధృవీకరణ అంకెను డేటాబేస్ స్థాయిలో తనిఖీ నిబంధనగా జోడించండి. CUIT/CUIL ద్వారా వెతకడానికి వీలుగా ఈ ఫీల్డ్పై సూచిక సృష్టించండి.
కోడ్ ఉదాహరణలు
Python
1def calculate_verification_digit(type_code, dni):
2 # స్ట్రింగ్గా మార్చి DNI 8 అంకెలతో సహా సున్నాలతో సమకూర్చు
3 type_code_str = str(type_code)
4 dni_str = str(dni).zfill(8)
5
6 # టైప్ కోడ్ మరియు DNI కలపండి
7 digits = type_code_str + dni_str
8
9 # ప్రతి స్థానం కోసం బరువులు
10 weights = [5, 4, 3, 2, 7, 6, 5, 4, 3, 2]
11
12 # ఉత్పత్తుల మొత్తం లెక్కించండి
13 sum_products = sum(int(digits[i]) * weights[i] for i in range(10))
14
15 # సత్యావేశ అంకెను లెక్కించండి
16 verification_digit = 11 - (sum_products % 11)
17
18 # ప్రత్యేక సందర్భాలు
19 if verification_digit == 11:
20 verification_digit = 0
21 elif verification_digit == 10:
22 verification_digit = 9
23
24 return verification_digit
25
26def generate_cuit_cuil(type_code, dni=None):
27 import random
28
29 # చెల్లుబాటు అయ్యే టైప్ కోడ్లు
30 valid_type_codes = [20, 23, 24, 27, 30, 33, 34]
31
32 if type_code not in valid_type_codes:
33 raise ValueError(f"చెల్లని టైప్ కోడ్. ఇవి ఉండాలి: {valid_type_codes}")
34
35 # అందించని DNI అయితే యాదృచ్ఛిక DNI రూపొందించు
36 if dni is None:
37 dni = random.randint(10000000, 99999999)
38
39 # సత్యావేశ అంకెను లెక్కించండి
40 verification_digit = calculate_verification_digit(type_code, dni)
41
42 # CUIT/CUIL ఫార్మాట్
43 return f"{type_code}-{str(dni).zfill(8)}-{verification_digit}"
44
45def validate_cuit_cuil(cuit_cuil):
46 # హైఫన్లు ఉంటే తీసివేయండి
47 cuit_cuil_clean = cuit_cuil.replace("-", "")
48
49 # ప్రాథమిక ఫార్మాట్ తనిఖీ
50 if not cuit_cuil_clean.isdigit() or len(cuit_cuil_clean) != 11:
51 return False, "చెల్లని ఫార్మాట్"
52
53 # భాగాలను వెలికితీయండి
54 type_code = int(cuit_cuil_clean[0:2])
55 dni = int(cuit_cuil_clean[2:10])
56 verification_digit = int(cuit_cuil_clean[10])
57
58 # టైప్ కోడ్ సరిచూడు
59 valid_type_codes = [20, 23, 24, 27, 30, 33, 34]
60 if type_code not in valid_type_codes:
61 return False, "చెల్లని టైప్ కోడ్"
62
63 # సత్యావేశ అంకెను లెక్కించి పోల్చండి
64 calculated_digit = calculate_verification_digit(type_code, dni)
65 if calculated_digit != verification_digit:
66 return False, "చెల్లని సత్యావేశ అంకె"
67
68 return True, "చెల్లుబాటు అయ్యే CUIT/CUIL"
69
70# ఉదాహరణ వాడుక
71print(generate_cuit_cuil(20, 12345678)) # నిర్దిష్ట DNI కోసం రూపొందించు
72print(generate_cuit_cuil(27)) # యాదృచ్ఛిక DNI తో రూపొందించు
73print(validate_cuit_cuil("20-12345678-9")) # CUIT/CUIL సరిచూడు
74(The rest of the translation follows the same pattern for JavaScript, Java, and PHP sections)
తరచుగా అడిగే ప్రశ్నలు
CUIT మరియు CUIL మధ్య తేడా ఏమిటి?
ఇక్కడ ఆచరణాత్మక వ్యత్యాసం: CUIT (సిస్టమాటిక్ టాక్స్ ఐడెంటిఫికేషన్ కీ) AFIP కు పన్ను దాఖలు చేసే వ్యక్తులు మరియు వ్యాపారాలను గుర్తిస్తుంది. CUIL (సోషల్ సెక్యూరిటీ సిస్టం లో కార్మిక గుర్తింపు కీ) ఉద్యోగం మరియు పెన్షన్ ప్రయోజనాల కోసం కార్మికులను గుర్తిస్తుంది.
ఆచరణలో, అనేక వ్యక్తులు CUIL (తమ మొదటి ఉద్యోగం నుండి) మరియు తరువాత CUIT (స్వరోజగార్ లేదా వ్యాపారం ప్రారంభిస్తే) రెండూ కలిగి ఉంటారు. సంఖ్యలు అదే ఫార్మాటింగ్ మరియు గణన నిబంధనలను వాడతాయి, కనుక వ్యాలిడేషన్ నుండి చూస్తే అవి ఒకే విధంగా నిర్వహించబడతాయి. తేడా పరిపాలనా ప్రయోజనాల కోసం ముఖ్యం: జీతపు సిస్టమ్లు సాధారణంగా CUIL తో పని చేస్తాయి, అయితే బిల్లింగ్ మరియు పన్ను సిస్టమ్లు CUIT వాడతాయి.
వ్యక్తులు మరియు కంపెనీల కోసం ఏ రకం కోడ్లు వాడబడతాయి?
వ్యక్తుల కోసం:
- 20, 23, 24: పురుష వ్యక్తులు (CUIL)
- 27: స్త్రీ వ్యక్తులు (CUIL)
కంపెనీలు మరియు సంస్థల కోసం:
- 30: కార్పొరేషన్లు (CUIT)
- 33: సివిల్ సంఘాలు (CUIT)
- 34: ఫౌండేషన్లు (CUIT)
సత్యాంకన అంకెను ఎలా లెక్కిస్తారు?
అల్గోరిథం తూచిత గుణాకారం వాడుతుంది: మొదటి 10 అంకెలను తీసుకొని, 5, 4, 3, 2, 7, 6, 5, 4, 3, 2 తూచిత అంకెలతో గుణిస్తారు, ఉత్పత్తులను సంకలనం చేసి, తరువాత 11 నుండి (సంకలనం మోడులో 11) లెక్కిస్తారు.
రెండు అంచెల సందర్భాలు ప్రజలను తప్పుదోవ పట్టిస్తాయి: లెక్కింపు 11 ఇస్తే, సత్యాంకన అంకెగా 0 వాడండి; 10 ఇస్తే, 9 వాడండి. ఈ ప్రత్యేక సందర్భాలు ఉన్నాయి ఎందుకంటే సత్యాంకన అంకె ఒక్క అంకె (0-9) అయి ఉండాలి. ఇది ISBN-10 కోడ్లు మరియు ప్రపంచవ్యాప్త గుర్తింపు సిస్టమ్లలో వాడే మోడులో-11 చెక్ అంకె అల్గోరిథం.
(మిగిలిన అనువాదం కొనసాగుతుంది...)
సూత్రాలు
-
AFIP (సార్వజనిక ఆదాయ నిర్వహణ నిర్వాహక సంస్థ). "CUIT/CUIL/CDI." అధికారిక వెబ్సైట్. https://www.afip.gob.ar/
-
కార్మిక, ఉపాధి మరియు సామాజిక భద్రతా మంత్రిత్వ శాఖ. "CUIL - కార్మిక గుర్తింపు యొక్క ఏకైక కీ." https://www.argentina.gob.ar/trabajo
-
ANSES (జాతీయ సామాజిక భద్రతా నిర్వహణ). "నా CUIL పొందండి." https://www.anses.gob.ar/
-
అర్జెంటీనా రిపబ్లిక్ అధికారిక బులెటిన్. "AFIP జనరల్ తీర్మానం 2854/2010: పద్ధతి. పన్ను గుర్తింపు యొక్క ఏకైక కీ (C.U.I.T.)."
-
అర్జెంటీనా రిపబ్లిక్ పన్ను నిబంధనలు. "దాయకుల గుర్తింపు మరియు నమోదు."
మీరు బిల్లింగ్ సిస్టమ్ నిర్మిస్తున్నారు, ఉద్యోగి ప్రవేశ ప్రక్రియలను పరీక్షిస్తున్నారు, లేదా వ్యాలిడేషన్ అల్గోరిథం గురించి నేర్చుకుంటున్నారు, ఈ సాధనం CUIT/CUIL రూపీకరణ మరియు నిర్ధారణ అందిస్తుంది. అల్గోరిథం నిర్ధారణ అయ్యే పరీక్షా డేటాను రూపొందించండి, మీ డేటాబేస్కు వెళ్ళే ముందు సంఖ్యలను తనిఖీ చేయండి, లేదా చెక్ అంక సూత్రం ఎలా పనిచేస్తుందో అన్వేషించండి.