CNPJ ਜਨਰੇਟਰ ਅਤੇ ਵੈਲੀਡੇਟਰ - ਬ੍ਰਾਜ਼ੀਲੀ ਬਿਜਨਸ ਆਈਡੀ ਟੂਲ
ਟੈਸਟਿੰਗ ਲਈ ਵੈਲਿਡ CNPJ ਨੰਬਰ ਜਨਰੇਟ ਕਰੋ ਜਾਂ ਤੁਰੰਤ ਬ੍ਰਾਜ਼ੀਲੀ ਬਿਜਨਸ ਆਈਡੀ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ। ਡਿਵੈਲਪਰਾਂ ਲਈ ਚੈੱਕ ਡਿਜਿਟ ਵੈਰੀਫਿਕੇਸ਼ਨ ਨਾਲ ਮੁਫਤ ਟੂਲ ਜੋ ਕੈਡਾਸਟਰੋ ਨੈਸ਼ਨਲ ਡਾ ਪੇਸੋਆ ਜੁਰੀਡਿਕਾ ਨਾਲ ਕੰਮ ਕਰ ਰਹੇ ਹਨ।
ਬ੍ਰਾਜ਼ੀਲੀਅਨ CNPJ ਜਨਰੇਟਰ ਅਤੇ ਵੈਲੀਡੇਟਰ
CNPJ ਜਨਰੇਟਰ
ਟੈਸਟਿੰਗ ਦੇ ਉਦੇਸ਼ ਲਈ ਇੱਕ ਵੈਧ ਬ੍ਰਾਜ਼ੀਲੀਅਨ CNPJ ਨੰਬਰ ਬਣਾਓ।
CNPJ ਵੈਲੀਡੇਟਰ
ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਇੱਕ ਬ੍ਰਾਜ਼ੀਲੀਅਨ CNPJ ਨੰਬਰ ਵੈਧ ਹੈ।
ਦਸਤਾਵੇਜ਼ੀਕਰਣ
ਬ੍ਰਾਜ਼ੀਲੀ CNPJ ਨੰਬਰਾਂ ਨੂੰ ਸਮਝਣਾ
CNPJ (Cadastro Nacional da Pessoa Jurídica) ਬ੍ਰਾਜ਼ੀਲ ਦਾ ਕਾਰਪੋਰੇਟ ਟੈਕਸ ਆਈਡੀ ਹੈ—ਇੱਕ 14-ਅੰਕਾਂ ਦਾ ਨੰਬਰ ਜੋ ਦੇਸ਼ ਵਿੱਚ ਹਰ ਕਾਨੂੰਨੀ ਕਾਰੋਬਾਰੀ ਇਕਾਈ ਦੀ ਪਛਾਣ ਕਰਦਾ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ ਬ੍ਰਾਜ਼ੀਲੀ ਕਾਰੋਬਾਰੀ ਡੇਟਾ ਨੂੰ ਹੈਂਡਲ ਕਰਨ ਵਾਲਾ ਸਾਫਟਵੇਅਰ ਬਣਾ ਰਹੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਜਲਦੀ ਹੀ ਇਨ੍ਹਾਂ ਨੰਬਰਾਂ ਨੂੰ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਫਾਰਮਾਂ, ਇਨਵੌਇਸਾਂ ਅਤੇ API ਇੰਟੀਗ੍ਰੇਸ਼ਨ ਵਿੱਚ ਮਿਲੋਗੇ।
ਇੱਥੇ ਇਸ ਟੂਲ ਨੂੈ ਵਿਵਹਾਰਕ ਬਣਾਉਣ ਵਾਲੀ ਚੀਜ਼ ਹੈ: ਇਹ ਵਾਸਤਵਿਕ ਕੰਪਨੀ ਦੀ ਪਛਾਣ ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ ਗਣਿਤੀ ਤੌਰ 'ਤੇ ਵੈਧ CNPJ ਉਤਪੰਨ ਕਰਦਾ ਹੈ। ਜਦੋਂ ਤੁਸੀਂ 1,000 ਰਿਕਾਰਡਾਂ ਵਾਲਾ ਟੈਸਟ ਡੇਟਾਬੇਸ ਸੈੱਟ ਕਰ ਰਹੇ ਹੋ ਜਾਂ ਰਾਤ 2 ਵਜੇ ਵੈਲੀਡੇਸ਼ਨ ਰੂਟੀਨ ਨੂੰ ਡੀਬੱਗ ਕਰ ਰਹੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਅਲਗੋਰਿਦਮ ਚੈੱਕਾਂ ਨੂੰ ਪਾਸ ਕਰਨ ਵਾਲੇ CNPJ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ ਪਰ ਜੋ ਅਸਲ ਕਾਰੋਬਾਰਾਂ ਨਾਲ ਮੇਲ ਨਹੀਂ ਖਾਂਦੇ। ਇਹੀ ਉਹ ਹੈ ਜੋ ਇਹ ਉਤਪੰਨ ਕਰਦਾ ਹੈ।
ਇੱਥੇ ਬਣਾਏ ਗਏ ਨੰਬਰ ਸਰਕਾਰੀ ਰਸੀਦਾ ਫੈਡਰਲ (ਬ੍ਰਾਜ਼ੀਲੀ ਫੈਡਰਲ ਰੈਵੇਨਿਊ ਸੇਵਾ) ਵੈਲੀਡੇਸ਼ਨ ਅਲਗੋਰਿਦਮ ਦਾ ਪਾਲਨ ਕਰਦੇ ਹਨ। ਇਨ੍ਹਾਂ ਦੇ ਸਹੀ ਚੈੱਕ ਅੰਕ ਅਤੇ ਸਹੀ ਫਾਰਮੈਟਿੰਗ ਹੈ—ਬੱਸ ਇਹ ਸਰਕਾਰੀ ਡੇਟਾਬੇਸ ਵਿੱਚ ਰਜਿਸਟਰ ਨਹੀਂ ਹਨ। ਇਨ੍ਹਾਂ ਨੂੰ ਸਿੰਟੈਕਟਿਕਲੀ ਸਹੀ ਟੈਸਟ ਡੇਟਾ ਦੇ ਤੌਰ 'ਤੇ ਸੋਚੋ ਜੋ ਤੁਹਾਡੇ ਵਿਕਾਸ ਵਾਤਾਵਰਣ ਵਿੱਚ ਅਨੁਪਾਲਨ ਦੀਆਂ ਸਮੱਸਿਆਵਾਂ ਨਹੀਂ ਬਣਾਉਂਦਾ।
CNPJ ਕੀ ਹੈ ਅਤੇ ਇਸਦਾ ਮਹੱਤਵ
CNPJ ਬ੍ਰਾਜ਼ੀਲ ਦਾ ਕਾਰਪੋਰੇਟ ਪਛਾਣ ਪੱਤਰ ਹੈ—ਜੋ ਅਮਰੀਕਾ ਦੇ EIN ਜਾਂ ਯੂਕੇ ਦੇ ਕੰਪਨੀ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਨੰਬਰ ਵਰਗਾ ਹੈ। ਬ੍ਰਾਜ਼ੀਲ ਵਿੱਚ ਕਾਨੂੰਨੀ ਤੌਰ 'ਤੇ ਕੰਮ ਕਰਨ ਵਾਲੀ ਹਰ ਕਾਰੋਬਾਰੀ ਇਕਾਈ ਨੂੰ ਰਸੀਤਾ ਫੈਡਰਲ (ਫੈਡਰਲ ਰੈਵੇਨਿਊ ਸੇਵਾ) ਦੁਆਰਾ ਜਾਰੀ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ।
ਤੁਸੀਂ CNPJ ਨੂੰ ਇਨ੍ਹਾਂ ਸਮੇਂ ਦੇਖੋਗੇ:
- ਭੁਗਤਾਨ ਪ੍ਰੋਸੈਸ ਕਰਨਾ: ਬ੍ਰਾਜ਼ੀਲੀ ਭੁਗਤਾਨ ਗੇਟਵੇ ਮਰਚੈਂਟ ਖਾਤਿਆਂ ਲਈ CNPJ ਵੈਲੀਡੇਸ਼ਨ ਦੀ ਮੰਗ ਕਰਦੇ ਹਨ
- ਟੈਕਸ ਅਨੁਪਾਲਣ: ਬ੍ਰਾਜ਼ੀਲ ਵਿੱਚ ਜਾਰੀ ਕੀਤੇ ਗਏ ਹਰ ਇਨਵੌਇਸ ਵਿੱਚ ਵੈਲਿਡ CNPJ ਸ਼ਾਮਲ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ
- ਕਾਰੋਬਾਰ ਰਜਿਸਟ੍ਰੇਸ਼ਨ: ਸਰਕਾਰੀ ਏਜੰਸੀਆਂ ਸਿਸਟਮਾਂ ਵਿੱਚ ਕਾਨੂੰਨੀ ਇਕਾਈਆਂ ਨੂੰ ਟਰੈਕ ਕਰਨ ਲਈ CNPJ ਦੀ ਵਰਤੋਂ ਕਰਦੀਆਂ ਹਨ
- ਬੈਂਕਿੰਗ ਕਾਰੋਬਾਰ: ਕਾਰਪੋਰੇਟ ਖਾਤੇ ਖੋਲ੍ਹਣਾ ਜਾਂ ਅੰਤਰਰਾਸ਼ਟਰੀ ਟ੍ਰਾਂਸਫਰ ਪ੍ਰੋਸੈਸ ਕਰਨਾ
- ਆਯਾਤ/ਨਿਰਯਾਤ: ਕਸਟਮ ਦਸਤਾਵੇਜ਼ਾਂ ਲਈ CNPJ ਦੀ ਪੁਸ਼ਟੀ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ
- ਸਰਕਾਰੀ ਠੇਕੇ: ਸਾਰਵਜਨਿਕ ਟੈਂਡਰ ਸਿਸਟਮ ਬੋਲੀਆਂ ਨੂੰ ਸਵੀਕਾਰ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ CNPJ ਦੀ ਪੁਸ਼ਟੀ ਕਰਦੇ ਹਨ
ਮੇਰੇ ਬ੍ਰਾਜ਼ੀਲੀ ਈ-ਕਾਮਰਸ ਪਲੇਟਫਾਰਮਾਂ ਨਾਲ ਕੰਮ ਕਰਨ ਦੇ ਤਜਰਬੇ ਵਿੱਚ, ਸਭ ਤੋਂ ਆਮ ਇੰਟੀਗ੍ਰੇਸ਼ਨ ਪੁਆਇੰਟ ਚੈਕਆਉਟ ਫਲੋ ਹੈ ਜਿੱਥੇ ਉਪਭੋਗਤਾ ਕਾਰਪੋਰੇਟ ਖਰੀਦ ਲਈ ਆਪਣਾ CNPJ ਦਾਖਲ ਕਰਦੇ ਹਨ। ਤੁਹਾਡੀ ਵੈਲੀਡੇਸ਼ਨ ਲੌਜਿਕ ਨੂੰ ਭੁਗਤਾਨ ਪ੍ਰੋਸੈਸਰ ਤੋਂ ਪਹਿਲਾਂ ਫਾਰਮੈਟਿੰਗ ਗਲਤੀਆਂ ਨੂੰ ਫੜਨਾ ਚਾਹੀਦਾ ਹੈ—ਨਹੀਂ ਤਾਂ ਤੁਸੀਂ ਅਸਫਲ ਲੈਣ-ਦੇਣ ਦੇਖੋਗੇ ਜਿਨ੍ਹਾਂ ਨੂੰ ਰੋਕਿਆ ਜਾ ਸਕਦਾ ਸੀ।
ਸੀਐਨਪੀਜੇ ਸਟਰਕਚਰ ਅਤੇ ਫਾਰਮੈਟ
ਸੀਐਨਪੀਜੇ 14 ਅੰਕਾਂ ਤੋਂ ਬਣਦਾ ਹੈ ਜੋ ਇਸ ਤਰ੍ਹਾਂ ਫਾਰਮੈਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ: XX.XXX.XXX/YYYY-ZZ
ਸਟਰਕਚਰ ਨੂੰ ਤੋੜ ਕੇ ਵੇਖੋ:
- ਪਹਿਲੇ 8 ਅੰਕ (XX.XXX.XXX): ਕੰਪਨੀ ਨੂੰ ਵਿਸ਼ੇਸ਼ ਤੌਰ 'ਤੇ ਦਿੱਤਾ ਗਿਆ ਬੇਸ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਨੰਬਰ
- ਅਗਲੇ 4 ਅੰਕ (/YYYY): ਸ਼ਾਖਾ ਜਾਂ ਸਥਾਪਨਾ ਦੀ ਪਛਾਣ—
/0001ਮੁੱਖ ਦਫਤਰ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ, ਜਦਕਿ/0002,/0003ਸ਼ਾਖਾ ਸਥਾਨਾਂ ਨੂੰ ਦਰਸਾਉਂਦੇ ਹਨ - ਅੰਤਮ 2 ਅੰਕ (-ZZ): ਤੋਲ ਐਲਗੋਰਿਦਮ ਦੁਆਰਾ ਗਣਨਾ ਕੀਤੇ ਗਏ ਤਸਦੀਕ ਅੰਕ
ਉਦਾਹਰਨ: 12.345.678/0001-95
ਸ਼ਾਖਾ ਪਛਾਣਕਰਤਾ ਬਾਰੇ ਦਿਲਚਸਪ ਗੱਲ: ਜਦੋਂ ਕੋਈ ਕੰਪਨੀ ਕਈ ਸਥਾਨ ਖੋਲ੍ਹਦੀ ਹੈ, ਤਾਂ ਹਰੇਕ ਨੂੰ ਪਹਿਲੇ 8 ਅੰਕ ਸਮਾਨ ਹੁੰਦੇ ਹਨ ਪਰ ਵੱਖ-ਵੱਖ ਸ਼ਾਖਾ ਨੰਬਰ ਮਿਲਦੇ ਹਨ। ਇਸ ਲਈ ਜੇਕਰ ਕੋਈ ਖੁਦਰਾ ਸ਼ਾਖਲਾ 50 ਦੁਕਾਨਾਂ ਰੱਖਦਾ ਹੈ, ਤਾਂ ਉਨ੍ਹਾਂ ਕੋਲ /0001 ਤੋਂ /0050 ਤੱਕ ਸਮਾਪਤ ਹੋਣ ਵਾਲੇ ਸੀਐਨਪੀਜੇ ਹੋਣਗੇ, ਜੋ ਸਾਰੇ ਇੱਕੋ ਬੇਸ ਨੰਬਰ ਸਾਂਝਾ ਕਰਦੇ ਹਨ। ਇਹ ਇਹ ਪਛਾਣਨਾ ਆਸਾਨ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਕਈ ਸੀਐਨਪੀਜੇ ਇੱਕੋ ਮੁੱਢਲੀ ਸੰਸਥਾ ਨਾਲ ਸਬੰਧਤ ਹਨ।
ਤਸਦੀਕ ਅੰਕ ਅਚਾਨਕ ਨਹੀਂ ਹੁੰਦੇ—ਉਨ੍ਹਾਂ ਦੀ ਗਣਨਾ ਮੋਡੂਲਸ-11 ਐਲਗੋਰਿਦਮ ਦੁਆਰਾ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਜਿਸ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ ਭਾਰ ਅਨੁਕ੍ਰਮ ਹੁੰਦੇ ਹਨ। ਇਹ ਡਿਜ਼ਾਈਨ ਚੋਣ, ਜੋ ਬ੍ਰਾਜ਼ੀਲੀ ਪ੍ਰਸ਼ਾਸਨਿਕ ਦਸਤਾਵੇਜ਼ਾਂ ਵਿੱਚ ਆਮ ਹੈ, ਇਹ ਗਣਨਾ ਕਰਨਾ ਮਾਤਰਾਤਮਕ ਤੌਰ 'ਤੇ ਮੁਸ਼ਕਲ ਬਣਾਉਂਦੀ ਹੈ ਕਿ ਵੈਧ ਨੰਬਰ ਜਾਲਸਾਜ਼ੀ ਕੀਤੇ ਜਾਣ ਜਾਂ ਗਲਤੀ ਨਾਲ ਵੈਧ ਬਣਾਏ ਜਾਣ।
CNPJ ਵੈਲੀਡੇਸ਼ਨ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ
ਵੈਲੀਡੇਸ਼ਨ ਐਲਗੋਰਿਦਮ ਵੱਜਨੀ ਮੋਡੂਲਸ-11 ਗਣਨਾ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। ਇੱਥੇ ਇਸ ਦੇ ਪਿੱਛੇ ਦਾ ਤਰਕ ਹੈ:
ਪਹਿਲਾ ਚੈੱਕ ਅੰਕ ਗਣਨਾ
- ਪਹਿਲੇ 12 ਅੰਕ ਲਓ ਅਤੇ ਹਰੇਕ ਨੂੰ ਵੱਜਨਾਂ ਨਾਲ ਗੁਣਾ ਕਰੋ:
5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2 - ਸਾਰੇ ਉਤਪਾਦਾਂ ਦਾ ਯੋਗ ਕਰੋ
- ਯੋਗ ਨੂੰ 11 ਨਾਲ ਭਾਗ ਦਿਓ ਅਤੇ ਬਾਕੀ ਲਓ
- ਜੇ ਬਾਕੀ < 2 ਹੈ, ਤਾਂ ਚੈੱਕ ਅੰਕ 0 ਹੈ; ਨਹੀਂ ਤਾਂ ਇਹ
11 - ਬਾਕੀਹੈ
ਦੂਜਾ ਚੈੱਕ ਅੰਕ ਗਣਨਾ
- ਪਹਿਲੇ 13 ਅੰਕ (ਪਹਿਲੇ ਚੈੱਕ ਅੰਕ ਸਮੇਤ) ਲਓ ਅਤੇ ਵੱਜਨਾਂ ਨਾਲ ਗੁਣਾ ਕਰੋ:
6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2 - ਸਾਰੇ ਉਤਪਾਦਾਂ ਦਾ ਯੋਗ ਕਰੋ
- 11 ਨਾਲ ਭਾਗ ਦਿਓ ਅਤੇ ਬਾਕੀ ਲਓ
- ਜੇ ਬਾਕੀ < 2 ਹੈ, ਤਾਂ ਚੈੱਕ ਅੰਕ 0 ਹੈ; ਨਹੀਂ ਤਾਂ ਇਹ
11 - ਬਾਕੀਹੈ
ਇਹ ਤਰੀਕਾ ਕਿਉਂ ਕੰਮ ਕਰਦਾ ਹੈ: ਵੱਜਨੀ ਗੁਣਾ ਪ੍ਰਣਾਲੀ ਸਾਰੇ 12 ਬੇਸ ਅੰਕਾਂ ਅਤੇ ਨਤੀਜੇ ਵਾਲੇ ਚੈੱਕ ਅੰਕਾਂ ਦੇ ਵਿਚਕਾਰ ਇੱਕ ਵਿਲੱਖਣ ਸਬੰਧ ਬਣਾਉਂਦੀ ਹੈ। ਬੇਸ ਨੰਬਰ ਵਿੱਚ ਇੱਕ ਅੰਕ ਨੂੰ ਬਦਲਣ ਨਾਲ ਵੱਖ-ਵੱਖ ਚੈੱਕ ਅੰਕ ਬਣਦੇ ਹਨ, ਜੋ ਆਮ ਲਿਖਣ ਦੀਆਂ ਗਲਤੀਆਂ ਨੂੰ ਫੜਦੇ ਹਨ ਜਿਵੇਂ ਕਿ ਦੋ ਅੰਕਾਂ ਨੂੰ ਬਦਲਣਾ (ਟਾਈਪ ਕਰਨਾ 12.345 ਦੀ ਬਜਾਏ 12.354)।
ਇੱਕ ਵਾਸਤਵਿਕ ਨੋਟ: ਸਮਾਨ ਅੰਕਾਂ ਵਾਲੇ CNPJs (ਜਿਵੇਂ 11.111.111/1111-11) ਆਪਣੇ-ਆਪ ਅਵੈਧ ਹੁੰਦੇ ਹਨ, ਭਾਵੇਂ ਉਹ ਗਣਿਤਕ ਜਾਂਚ ਪਾਸ ਕਰਦੇ ਹਨ। ਰੇਸੀਟਾ ਫੈਡਰਲ ਸਪੱਸ਼ਟ ਰੂਪ ਤੋਂ ਇਨ੍ਹਾਂ ਪੈਟਰਨਾਂ ਨੂੰ ਰੱਦ ਕਰਦਾ ਹੈ ਤਾਂ ਜੋ ਸਧਾਰਨ ਮਾਮਲਿਆਂ ਨੂੰ ਰੋਕਿਆ ਜਾ ਸਕੇ।
CNPJ ਜਨਰੇਟਰ ਅਤੇ ਵੈਲੀਡੇਟਰ ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰੀਏ
ਟੈਸਟ CNPJs ਜਨਰੇਟ ਕਰਨਾ
ਆਪਣੇ ਟੈਸਟ ਡੇਟਾਬੇਸ ਲਈ ਇੱਕ ਵੈਲਿਡ CNPJ ਚਾਹੀਦਾ ਹੈ? ਇੱਥੇ ਕਿਵੇਂ:
- "CNPJ ਜਨਰੇਟ ਕਰੋ" 'ਤੇ ਕਲਿੱਕ ਕਰੋ
- ਟੂਲ ਤੁਰੰਤ ਗਣਿਤੀ ਤੌਰ 'ਤੇ ਵੈਲਿਡ ਨੰਬਰ ਬਣਾਉਂਦਾ ਹੈ
- ਇਸਨੂੰ ਆਪਣੇ ਕਲਿੱਪਬੋਰਡ 'ਤੇ ਲੈਣ ਲਈ "ਕਾਪੀ" 'ਤੇ ਕਲਿੱਕ ਕਰੋ
- ਇਸਨੂੰ ਆਪਣੇ ਟੈਸਟ ਫਾਰਮਾਂ, ਡੇਟਾਬੇਸ ਸੀਡਸ, ਜਾਂ ਯੂਨਿਟ ਟੈਸਟਾਂ ਵਿੱਚ ਪੇਸਟ ਕਰੋ
ਹਰ ਜਨਰੇਟ ਕੀਤਾ CNPJ ਸਾਰੇ ਐਲਗੋਰਿਦਮਿਕ ਵੈਲੀਡੇਸ਼ਨ ਚੈੱਕਾਂ ਨੂੰ ਪਾਸ ਕਰਦਾ ਹੈ ਪਰ ਰੇਸੀਟਾ ਫੈਡਰਲ ਵਿੱਚ ਰਜਿਸਟਰਡ ਨਹੀਂ ਹੈ। ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਤੁਸੀਂ ਇਸਨੂੰ ਵਿਕਾਸ ਵਿੱਚ ਮੁਫਤ ਵਿੱਚ ਵਰਤ ਸਕਦੇ ਹੋ ਬਿਨਾਂ ਇਹ ਚਿੰਤਾ ਕੀਤੇ ਕਿ ਤੁਸੀਂ ਕਿਸੇ ਅਸਲ ਕੰਪਨੀ ਦੀ ਪਛਾਣ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹੋ।
CNPJ ਨੰਬਰਾਂ ਦੀ ਵੈਲੀਡੇਸ਼ਨ
ਤੁਹਾਡੇ ਕੋਲ ਇੱਕ CNPJ ਹੈ ਜਿਸਨੂੰ ਤੁਸੀਂ ਵੈਰੀਫਾਈ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ? ਵੈਲੀਡੇਟਰ ਇਸਨੂੰ ਸੰਭਾਲਦਾ ਹੈ:
- CNPJ ਨੂੰ ਇਨਪੁਟ ਫੀਲਡ ਵਿੱਚ ਪੇਸਟ ਜਾਂ ਟਾਈਪ ਕਰੋ
- ਫਾਰਮੈਟਿੰਗ ਬਾਰੇ ਚਿੰਤਾ ਨਾ ਕਰੋ—ਇਹ
12345678000195ਜਾਂ12.345.678/0001-95ਦੇ ਨਾਲ ਕੰਮ ਕਰਦਾ ਹੈ - "ਵੈਲੀਡੇਟ" 'ਤੇ ਕਲਿੱਕ ਕਰੋ
- ਚੈੱਕ ਅੰਕ ਸਹੀ ਹਨ ਜਾਂ ਨਹੀਂ ਇਸ ਬਾਰੇ ਤੁਰੰਤ ਫੀਡਬੈਕ ਪ੍ਰਾਪਤ ਕਰੋ
ਵੈਲੀਡੇਟਰ ਕੀ ਚੈੱਕ ਕਰਦਾ ਹੈ: ਸਹੀ ਲੰਬਾਈ (14 ਅੰਕ), ਸਹੀ ਚੈੱਕ ਅੰਕ ਗਣਨਾ, ਅਤੇ ਅਵੈਧ ਪੈਟਰਨਾਂ ਨੂੰ ਬਾਹਰ ਕੱਢਣਾ ਜਿਵੇਂ ਕਿ ਸਾਰੇ-ਇੱਕੋ-ਅੰਕ। ਇਹ ਕੀ ਨਹੀਂ ਚੈੱਕ ਕਰਦਾ: ਕੀ CNPJ ਸਰਕਾਰੀ ਡੇਟਾਬੇਸ ਵਿੱਚ ਰਜਿਸਟਰਡ ਹੈ—ਇਸ ਲਈ ਰੇਸੀਟਾ ਫੈਡਰਲ ਨੂੰ ਸਿੱਧੇ ਪੁੱਛਣ ਦੀ ਲੋੜ ਹੈ।
CNPJ ਜਨਰੇਟਰ ਅਤੇ ਵੈਲੀਡੇਟਰ ਦੇ ਵਾਸਤਵਿਕ ਦੁਨੀਆ ਦੇ ਉਪਯੋਗ ਕੇਸ
ਸਾਫਟਵੇਅਰ ਵਿਕਾਸ ਅਤੇ ਟੈਸਟਿੰਗ
ਡੇਟਾਬੇਸ ਸੀਡਿੰਗ: ਜਦੋਂ ਤੁਸੀਂ ਇੱਕ ਸਟੇਜਿੰਗ ਵਾਤਾਵਰਣ ਨੂੰ ਯਥਾਰਥਵਾਦੀ ਟੈਸਟ ਡੇਟਾ ਨਾਲ ਸੈਟ ਕਰ ਰਹੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਦਸਿਆਂ ਜਾਂ ਸੈਂਕੜਿਆਂ ਵਿੱਚ ਵੈਧ CNPJs ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਮੈਨੂਅਲ ਰੂਪ ਵਿੱਚ ਇਨ੍ਹਾਂ ਨੂੰ ਬਣਾਉਣਾ ਥਕਾਊ ਹੈ, ਅਤੇ ਅਸਲ ਕੰਪਨੀ ਪਛਾਣਕਰਤਾਵਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਨਾਲ ਗੋਪਨੀਯਤਾ ਦੀਆਂ ਚਿੰਤਾਵਾਂ ਉਠਦੀਆਂ ਹਨ। ਉਤਪੰਨ CNPJs ਦੋਵਾਂ ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਹੱਲ ਕਰਦੇ ਹਨ।
ਯੂਨਿਟ ਟੈਸਟਿੰਗ ਕਿਨਾਰੇ ਦੇ ਕੇਸ: ਤੁਹਾਡੇ ਵੈਲੀਡੇਸ਼ਨ ਫੰਕਸ਼ਨ ਨੂੰ 00.000.000/0000-00 ਨੂੰ ਅਸਵੀਕਾਰ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ ਪਰ 11.222.333/0001-81 ਨੂੰ ਸਵੀਕਾਰ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ। ਇੱਕ ਜਨਰੇਟਰ ਹੋਣ ਨਾਲ ਤੁਸੀਂ ਜਲਦੀ ਨਾਲ ਵੈਧ ਅਤੇ ਜਾਣਬੁੱਝ ਕੇ ਅਵੈਧ ਟੈਸਟ ਕੇਸ ਬਣਾ ਸਕਦੇ ਹੋ ਤਾਂ ਜੋ ਤੁਸੀਂ ਜਾਂਚ ਸਕੋ ਕਿ ਤੁਹਾਡੀ ਲਾਜਿਕ ਸੀਮਾ ਦੀਆਂ ਸਥਿਤੀਆਂ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਨਿਪਟਾਉਂਦਾ ਹੈ।
QA ਰੀਗ੍ਰੇਸ਼ਨ ਟੈਸਟਿੰਗ: ਜਦੋਂ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਫਾਰਮ ਜਾਂ B2B ਚੈਕਆਉਟ ਪ੍ਰਵਾਹਾਂ ਦਾ ਪਰੀਖਣ ਕਰ ਰਹੇ ਹੋ, ਤਾਂ QA ਟੀਮਾਂ ਨੂੰ ਹਰ ਰਨ ਲਈ ਤਾਜਾ ਟੈਸਟ ਡੇਟਾ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਇੱਕ ਆਮ ਸਮੱਸਿਆ ਜੋ ਮੈਂ ਦੇਖੀ ਹੈ: ਟੈਸਟ ਵਾਤਾਵਰਣ 5-6 CNPJs ਨਾਲ ਭਰ ਜਾਂਦੇ ਹਨ ਜੋ ਬਾਰ-ਬਾਰ ਵਰਤੇ ਜਾਂਦੇ ਹਨ, ਜੋ ਉਨ੍ਹਾਂ ਬਗਾਂ ਨੂੰ ਲੁਕਾਉਂਦੇ ਹਨ ਜੋ ਸਿਰਫ ਖਾਸ ਅੰਕ ਪੈਟਰਨ ਨਾਲ ਦਿਖਾਈ ਦਿੰਦੇ ਹਨ।
API ਇੰਟੀਗ੍ਰੇਸ਼ਨ ਟੈਸਟਿੰਗ: ਜੇ ਤੁਸੀਂ PagSeguro ਜਾਂ Mercado Pago ਵроਗੇ ਬ੍ਰਾਜ਼ੀਲੀ ਭੁਗਤਾਨ ਪ੍ਰੋਸੈਸਰਾਂ ਨਾਲ ਇੰਟੀਗ੍ਰੇਟ ਕਰ ਰਹੇ ਹੋ, ਤਾਂ ਉਨ੍ਹਾਂ ਦੇ ਸੈਂਡਬੌਕਸ ਵਾਤਾਵਰਣ ਨੂੰ ਅਕਸਰ ਵੈਧ CNPJ ਫਾਰਮੈਟਿੰਗ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਗਣਿਤ ਨੂੰ ਸਹੀ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ ਭਾਵੇਂ ਤੁਸੀਂ ਉਤਪਾਦਨ ਡੇਟਾਬੇਸ 'ਤੇ ਨਹੀਂ ਹੋ।
ਡੇਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਅਤੇ ਵੈਲੀਡੇਸ਼ਨ
ਆਯਾਤਿਤ ਡੇਟਾ ਨੂੰ ਸਾਫ਼ ਕਰਨਾ: ਤੁਹਾਨੂੰ 10,000 ਬ੍ਰਾਜ਼ੀਲੀ ਕੰਪਨੀ ਰਿਕਾਰਡਾਂ ਵਾਲਾ CSV ਮਿਲਿਆ ਹੈ। ਪ੍ਰੋਸੈਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ, ਤੁਹਾਨੂੰ ਪਤਾ ਲਗਾਉਣ ਦੀ ਲੋੜ ਹੈ ਕਿ ਕਿਹੜੇ CNPJs ਗਲਤ ਬਣਾਏ ਗਏ ਹਨ। ਵੈਲੀਡੇਟਰ ਦੁਆਰਾ ਉਨ੍ਹਾਂ ਨੂੰ ਚਲਾਉਣ ਨਾਲ ਉਹਨਾਂ ਐਂਟਰੀਆਂ ਨੂੰ ਚਿੰਨ੍ਹਤ ਕੀਤਾ ਜਾਵੇਗਾ ਜਿਨ੍ਹਾਂ ਵਿੱਚ ਟਾਈਪੋ, ਟਰੰਕੇਸ਼ਨ ਜਾਂ ਗਲਤ ਚੈੱਕ ਅੰਕ ਹਨ—ਹੇਠਲੇ ਡੀਬਗਿੰਗ ਵਿੱਚ ਘੰਟੇ ਬਚਾਉਂਦਾ ਹੈ।
ਕਲਾਈਂਟ-ਸਾਈਡ ਫਾਰਮ ਵੈਲੀਡੇਸ਼ਨ: ਫਾਰਮ ਸਬਮਿਸ਼ਨ ਤੋਂ ਪਹਿਲਾਂ ਅਵੈਧ CNPJs ਨੂੰ ਫੜਨਾ ਉਪਭੋਗਤਾ ਅਨੁਭਵ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਂਦਾ ਹੈ। ਕੋਈ ਵੀ ਨਹੀਂ ਚਾਹੁੰਦਾ ਕਿ 20-ਫੀਲਡ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਫਾਰਮ ਨੂੰ ਭਰੇ ਅਤੇ ਫਿਰ ਸਬਮਿਸ਼ਨ 'ਤੇ ਗਲਤੀ ਮਿਲੇ ਕਿਉਂਕਿ ਉਨ੍ਹਾਂ ਨੇ ਆਪਣੇ CNPJ ਵਿੱਚ ਦੋ ਅੰਕ ਬਦਲ ਦਿੱਤੇ ਹਨ।
ਵਿਸ਼ਲੇਸ਼ਣ ਲਈ ਡੇਟਾ ਅਨਾਮ ਕਰਨਾ: ਜਦੋਂ ਉਤਪਾਦਨ ਡੇਟਾ ਨੂੰ ਵਿਸ਼ਲੇਸ਼ਣ ਟੀਮਾਂ ਜਾਂ ਬਾਹਰੀ ਭਾਈਵਾਲਾਂ ਨਾਲ ਸਾਂਝਾ ਕਰਨ ਲਈ ਤਿਆਰ ਕਰ ਰਹੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਅਸਲ CNPJs ਨੂੰ ਵੈਧ ਪਰ ਨਕਲੀ CNPJs ਨਾਲ ਬਦਲਣ ਦੀ ਲੋੜ ਹੈ। ਇਹ ਤੁਹਾਡੇ ਡੇਟਾਸੈੱਟ ਵਿੱਚ ਸੰਦਰਭਕ ਅਖੰਡਤਾ ਨੂੰ
ਵੈਕਲਪਿਕ CNPJ ਵੈਲੀਡੇਸ਼ਨ ਪਹੁੰਚਾਂ
ਪ੍ਰੋਗਰਾਮਿੰਗ ਲਾਇਬ੍ਰੇਰੀਆਂ
ਜੇਕਰ ਤੁਹਾਨੂੰ ਆਪਣੀ ਐਪਲੀਕੇਸ਼ਨ ਲਾਜਿਕ ਵਿੱਚ CNPJ ਵੈਲੀਡੇਸ਼ਨ ਦੀ ਲੋੜ ਹੈ, ਇਹ ਲਾਇਬ੍ਰੇਰੀਆਂ ਚੈੱਕ ਡਿਜਿਟ ਐਲਗੋਰਿਦਮ ਲਾਗੂ ਕਰਦੀਆਂ ਹਨ:
- JavaScript/Node.js:
cpf-cnpj-validator(130k+ ਹਫਤਾਵਾਰ ਡਾਊਨਲੋਡ),validator.js(ਬ੍ਰਾਜ਼ੀਲੀ ਦਸਤਾਵੇਜ਼ਾਂ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ) - Python:
validate-docbr(CPF, CNPJ, ਅਤੇ ਹੋਰ ਬ੍ਰਾਜ਼ੀਲੀ ਦਸਤਾਵੇਜ਼ ਵੈਲੀਡੇਟ ਕਰਦਾ ਹੈ),python-cnpj - PHP:
respect/validation(CNPJ ਨਿਯਮ ਸ਼ਾਮਲ),brazilianutils - Java:
caelum-stella(ਵਿਆਪਕ ਬ੍ਰਾਜ਼ੀਲੀ ਦਸਤਾਵੇਜ਼ ਵੈਲੀਡੇਸ਼ਨ) - Ruby:
cpf_cnpjਜੈਮ
ਇਹ ਲਾਇਬ੍ਰੇਰੀਆਂ ਆਮ ਤੌਰ 'ਤੇ ਫਾਰਮੈਟਿੰਗ, ਪਾਰਸਿੰਗ, ਅਤੇ ਵੱਖ-ਵੱਖ ਬ੍ਰਾਜ਼ੀਲੀ ਦਸਤਾਵੇਜ਼ ਪ੍ਰਕਾਰਾਂ (CPF, CNPJ, ਆਦਿ) ਦੀ ਵੈਲੀਡੇਸ਼ਨ ਨੂੰ ਸੰਭਾਲਦੀਆਂ ਹਨ।
ਅਧਿਕਾਰਕ ਤਸਦੀਕ APIs
ਉਤਪਾਦਨ ਸਿਸਟਮਾਂ ਲਈ ਜਿਨ੍ਹਾਂ ਨੂੰ ਵਾਸਤਵਿਕ ਕਾਰੋਬਾਰ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਦੀ ਤਸਦੀਕ ਕਰਨ ਦੀ ਲੋੜ ਹੈ:
- ਰੇਸੀਟਾ ਫੈਡਰਲ ਪਬਲਿਕ ਸੇਵਾ: Consulta CNPJ API ਅਧਿਕਾਰਕ ਡਾਟਾਬੇਸ ਦੇ ਵਿਰੁੱਧ ਤਸਦੀਕ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ (ਢੁਕਵੀਂ ਪ੍ਰਮਾਣੀਕਰਣ ਅਤੇ ਦਰ ਸੀਮਾ ਦੀ ਲੋੜ ਹੈ)
- ਤੀਜੀ-ਧਿਰ ਡਾਟਾ ਪ੍ਰਦਾਤਾ: Serasa Experian ਅਤੇ Boa Vista SCPC ਵਰਗੀਆਂ ਸੇਵਾਵਾਂ ਵਾਣਿਜਿਕ APIs ਪ੍ਰਦਾਨ ਕਰਦੀਆਂ ਹਨ ਜੋ ਕੰਪਨੀ ਦੇ ਵੇਰਵੇ, ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਸਥਿਤੀ, ਅਤੇ ਕ੍ਰੈਡਿਟ ਜਾਣਕਾਰੀ ਵਾਪਸ ਕਰਦੀਆਂ ਹਨ
ਨੋਟ: ਇਹ ਸੇਵਾਵਾਂ ਵਾਸਤਵਿਕ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਦੀ ਜਾਂਚ ਕਰਦੀਆਂ ਹਨ, ਸਿਰਫ ਗਣਿਤੀ ਵੈਧਤਾ ਨਹੀਂ। ਤੁਹਾਨੂੰ ਢੁਕਵਾਂ ਪ੍ਰਮਾਣੀਕਰਣ ਚਾਹੀਦਾ ਹੈ ਅਤੇ ਉਤਪਾਦਨ ਵਰਤੋਂ ਲਈ API ਲਾਗਤਾਂ ਦੀ ਉਮੀਦ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ।
ਕਦੋਂ ਹਰ ਪਹੁੰਚ ਦੀ ਵਰਤੋਂ ਕਰਨੀ ਹੈ
ਇਸ ਬ੍ਰਾਊਜ਼ਰ ਟੂਲ ਦੀ ਵਰਤੋਂ ਕਰੋ ਜਦੋਂ: ਤੁਹਾਨੂੰ ਨਿਰਭਰਤਾਵਾਂ ਨੂੰ ਇੰਸਟਾਲ ਕੀਤੇ ਬਿਨਾਂ ਤੁਰੰਤ ਵੈਲੀਡੇਸ਼ਨ, ਡੈਮੋ ਲਈ ਟੈਸਟ ਡਾਟਾ ਤਿਆਰ ਕਰਨ, ਜਾਂ CNPJ ਵੈਲੀਡੇਸ਼ਨ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ ਸਿੱਖਣ ਦੀ ਲੋੜ ਹੈ।
ਲਾਇਬ੍ਰੇਰੀ ਦੀ ਵਰਤੋਂ ਕਰੋ ਜਦੋਂ: ਤੁਸੀਂ ਇੱਕ ਐਪਲੀਕੇਸ਼ਨ ਬਣਾ ਰਹੇ ਹੋ ਜਿਸ ਨੂੰ ਫਾਰਮ ਪ੍ਰੋਸੈਸਿੰਗ ਦੇ ਹਿੱਸੇ ਵਜੋਂ ਕਲਾਈਟ-ਸਾਈਡ ਜਾਂ ਸਰਵਰ-ਸਾਈਡ ਵੈਲੀਡੇਸ਼ਨ ਦੀ ਲੋੜ ਹੈ।
ਅਧਿਕਾਰਕ API ਦੀ ਵਰਤੋਂ ਕਰੋ ਜਦੋਂ: ਤੁਹਾਨੂੰ ਇਹ ਤਸਦੀਕ ਕਰਨ ਦੀ ਲੋੜ ਹੈ ਕਿ ਕੋਈ CNPJ ਇੱਕ ਅਸਲ, ਸਰਗਰਮ ਕਾਰੋਬਾਰ ਇਕਾਈ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ ਜਿਸਦੀ ਮੌਜੂਦਾ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਸਥਿਤੀ ਹੈ।
ਤਕਨੀਕੀ ਲਾਗੂਕਰਨ ਵੇਰਵੇ
ਇਹ ਟੂਲ ਪੂਰੀ ਤਰ੍ਹਾਂ ਜਾਵਾਸਕ੍ਰਿਪਟ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਚੱਲਦਾ ਹੈ—ਕੋਈ ਸਰਵਰ ਬੇਨਤੀਆਂ ਨਹੀਂ, ਕੋਈ ਡਾਟਾ ਤੁਹਾਡੀ ਮਸ਼ੀਨ ਤੋਂ ਬਾਹਰ ਨਹੀਂ ਜਾਂਦਾ। ਇੱਥੇ ਐਲਗੋਰਿਦਮ ਕਿਵੇਂ ਕੰਮ ਕਰਦੇ ਹਨ, ਜਿਸ ਕੋਡ ਨੂੰ ਤੁਸੀਂ ਆਪਣੀਆਂ ਖੁਦ ਦੀਆਂ ਪਰੋਜੈਕਟਾਂ ਲਈ ਅਨੁਕੂਲਿਤ ਕਰ ਸਕਦੇ ਹੋ:
CNPJ ਉਤਪਾਦਨ ਐਲਗੋਰਿਦਮ
1function generateCNPJ() {
2 // ਪਹਿਲੇ 12 ਅੰਕ ਯਾਦਚ੍ਛ ਢੰਗ ਨਾਲ ਉਤਪੰਨ ਕਰੋ
3 const digits = Array.from({ length: 12 }, () => Math.floor(Math.random() * 10));
4
5 // ਪਹਿਲਾ ਚੈੱਕ ਅੰਕ ਗਣਨਾ ਕਰੋ
6 const firstCheckDigit = calculateCheckDigit(digits);
7 digits.push(firstCheckDigit);
8
9 // ਦੂਜਾ ਚੈੱਕ ਅੰਕ ਗਣਨਾ ਕਰੋ
10 const secondCheckDigit = calculateCheckDigit(digits);
11 digits.push(secondCheckDigit);
12
13 // CNPJ ਫਾਰਮੈਟ ਕਰੋ
14 return formatCNPJ(digits.join(''));
15}
16
17function calculateCheckDigit(digits) {
18 const weights = digits.length < 13
19 ? [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2]
20 : [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];
21
22 const sum = digits.reduce((acc, digit, index) => {
23 return acc + digit * weights[index];
24 }, 0);
25
26 const remainder = sum % 11;
27 return remainder < 2 ? 0 : 11 - remainder;
28}
29CNPJ ਵੈਲੀਡੇਸ਼ਨ ਐਲਗੋਰਿਦਮ
1function validateCNPJ(cnpj) {
2 // ਗੈਰ-ਸੰਖਿਆਤਮਕ ਅੱਖਰਾਂ ਨੂੰ ਹਟਾਓ
3 const cleanCNPJ = cnpj.replace(/\D/g, '');
4
5 // ਸਹੀ ਲੰਬਾਈ ਦੀ ਜਾਂਚ ਕਰੋ
6 if (cleanCNPJ.length !== 14) return false;
7
8 // ਜਾਣੇ-ਪਛਾਣੇ ਅਵੈਧ ਪੈਟਰਨਾਂ ਦੀ ਜਾਂਚ ਕਰੋ (ਸਾਰੇ ਇੱਕੋ ਅੰਕ)
9 if (/^(\d)\1+$/.test(cleanCNPJ)) return false;
10
11 // ਅੰਕਾਂ ਦੀ ਸਰਣੀ ਵਿੱਚ ਬਦਲੋ
12 const digits = cleanCNPJ.split('').map(Number);
13
14 // ਪਹਿਲੇ ਤਸਦੀਕ ਅੰਕ ਦੀ ਜਾਂਚ ਕਰੋ
15 const expectedFirstDigit = calculateCheckDigit(digits.slice(0, 12));
16 if (digits[12] !== expectedFirstDigit) return false;
17
18 // ਦੂਜੇ ਤਸਦੀਕ ਅੰਕ ਦੀ ਜਾਂਚ ਕਰੋ
19 const expectedSecondDigit = calculateCheckDigit(digits.slice(0, 13));
20 if (digits[13] !== expectedSecondDigit) return false;
21
22 return true;
23}
24CNPJ ਫਾਰਮੈਟਿੰਗ ਫੰਕਸ਼ਨ
1function formatCNPJ(cnpj) {
2 // ਗੈਰ-ਸੰਖਿਆਤਮਕ ਅੱਖਰਾਂ ਨੂੰ ਹਟਾਓ
3 const cleanCNPJ = cnpj.replace(/\D/g, '');
4
5 // ਲੰਬਾਈ ਦੇ ਅਧਾਰ 'ਤੇ ਫਾਰਮੈਟ ਕਰੋ
6 if (cleanCNPJ.length <= 2) {
7 return cleanCNPJ;
8 } else if (cleanCNPJ.length <= 5) {
9 return `${cleanCNPJ.slice(0, 2)}.${cleanCNPJ.slice(2)}`;
10 } else if (cleanCNPJ.length <= 8) {
11 return `${cleanCNPJ.slice(0, 2)}.${cleanCNPJ.slice(2, 5)}.${cleanCNPJ.slice(5)}`;
12 } else if (cleanCNPJ.length <= 12) {
13 return `${cleanCNPJ.slice(0, 2)}.${cleanCNPJ.slice(2, 5)}.${cleanCNPJ.slice(5, 8)}/${cleanCNPJ.slice(8)}`;
14 } else {
15 return `${cleanCNPJ.slice(0, 2)}.${cleanCNPJ.slice(2, 5)}.${cleanCNPJ.slice(5, 8)}/${cleanCNPJ.slice(8, 12)}-${cleanCNPJ.slice(12, 14)}`;
16 }
17}
18ਇਹ ਮੁੱਖ ਫੰਕਸ਼ਨ ਹੋਰ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚ ਇਸੇ ਤਰ੍ਹਾਂ ਦੀ ਤਰਕ ਦਾ ਪਾਲਣ ਕਰਦੇ ਹੋਏ ਲਾਗੂ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ। ਇੱਥੇ ਪਾਈਥਨ ਅਤੇ ਜਾਵਾ ਵਿੱਚ ਉਦਾਹਰਣਾਂ ਹਨ:
ਪਾਈਥਨ ਲਾਗੂਕਰਨ
1import random
2
3def calculate_check_digit(digits):
4 weights = [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2] if len(digits) < 13 else [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2]
5
6 total = 0
7 for i in range(len(digits)):
8 total += digits[i] * weights[i]
9
10 remainder = total % 11
11 return 0 if remainder < 2 else 11 - remainder
12
13def generate_cnpj():
14 # ਪਹਿਲੇ 12 ਅੰਕ ਯਾਦਚ੍ਛ ਢੰਗ ਨਾਲ ਉਤਪੰਨ ਕਰੋ
15 digits = [random.randint(0, 9) for _ in range(12)]
16
17 # ਪਹਿਲਾ ਚੈੱਕ ਅੰਕ ਗਣਨਾ ਕਰੋ
18 first_check = calculate_check_digit(digits)
19 digits.append(first_check)
20
21 # ਦੂਜਾ ਚੈੱਕ ਅੰਕ ਗਣਨਾ ਕਰੋ
22 second_check = calculate_check_digit(digits)
23 digits.append(second_check)
24
25 # CNPJ ਫਾਰਮੈਟ ਕਰੋ
26 cnpj = ''.join(map(str, digits))
27 return f"{cnpj[:2]}.{cnpj[2:5]}.{cnpj[5:8]}/{cnpj[8:12]}-{cnpj[12:]}"
28
29def validate_cnpj(cnpj):
30 # ਗੈਰ-ਸੰਖਿਆਤਮਕ ਅੱਖਰਾਂ ਨੂੰ ਹਟਾਓ
31 cnpj = ''.join(filter(str.isdigit, cnpj))
32
33 # ਲੰਬਾਈ ਦੀ ਜਾਂਚ ਕਰੋ
34 if len(cnpj) != 14:
35 return False
36
37 # ਜਾਂਚ ਕਰੋ ਕਿ ਸਾਰੇ ਅੰਕ ਇੱਕੋ ਜਿਹੇ ਹਨ
38 if len(set(cnpj)) == 1:
39 return False
40
41 # ਅੰਕਾਂ ਦੀ ਸਰਣੀ ਵਿੱਚ ਬਦਲੋ
42 digits = [int(d) for d in cnpj]
43
44 # ਪਹਿਲੇ ਚੈੱਕ ਅੰਕ ਦੀ ਤਸਦੀਕ ਕਰੋ
45 first_check = calculate_check_digit(digits[:12])
46 if digits[12] != first_check:
47 return False
48
49 # ਦੂਜੇ ਚੈੱਕ ਅੰਕ ਦੀ ਤਸਦੀਕ ਕਰੋ
50 second_check = calculate_check_digit(digits[:13])
51 if digits[13] != second_check:
52 return False
53
54 return True
55ਜਾਵਾ ਲਾਗੂਕਰਨ
import java.util.Random; public class CNPJUtils { public static String generateCNPJ() { Random random = new Random(); int[] digits = new int[14]; // ਪਹਿਲੇ 12 ਅੰਕ ਯਾਦਚ੍ਛ ਢੰਗ ਨਾਲ ਉਤਪੰਨ ਕਰੋ for (int i = 0; i < 12; i++) { digits[i] = random.nextInt(10); } // ਪਹਿਲਾ ਚੈੱਕ ਅੰਕ ਗਣਨਾ ਕਰੋ digits[12] = calculateCheckDigit(digits, 12); // ਦੂਜਾ ਚੈੱਕ ਅੰਕ ਗਣਨਾ ਕਰੋ digits[13] = calculateCheckDigit(digits, 13); // CNPJ ਫਾਰਮੈਟ ਕਰੋ return String.format("%02d.%03d.%03d/%04d-%02d", digits[0] * 10 + digits[1], digits[2] * 100 + digits[3] * 10 + digits[4], digits[5] * 100 + digits[6] * 10 + digits[7], digits[8] * 1000 + digits[9] * 100 + digits[10] * 10 + digits[11], digits[12] * 10 + digits[13]); } private static int calculateCheckDigit(int[] digits, int length) { int[] weights = length < 13 ## ਮਹੱਤਵਪੂਰਨ ਸੀਮਾਵਾਂ ਅਤੇ ਵਿਚਾਰ ### ਇਹ ਟੂਲ ਕੀ ਕਰ ਸਕਦਾ ਹੈ ਅਤੇ ਕੀ ਨਹੀਂ ਕਰ ਸਕਦਾ **ਜੋ ਇਹ ਵੈਲੀਡੇਟ ਕਰਦਾ ਹੈ:** ਗਣਿਤੀ ਸਹੀਪਣ—ਕਿ ਚੈੱਕ ਅੰਕ ਐਲਗੋਰਿਦਮ ਦੀ ਗਣਨਾ ਨਾਲ ਮੇਲ ਖਾਂਦੇ ਹਨ। **ਜੋ ਇਹ ਵੈਲੀਡੇਟ ਨਹੀਂ ਕਰਦਾ:** ਕਿ CNPJ ਰੀਸੇਟਾ ਫੈਡਰਲ ਨਾਲ ਰਜਿਸਟਰਡ ਹੈ, ਕਿ ਇਹ ਇੱਕ ਸਰਗਰਮ ਕੰਪਨੀ ਨਾਲ ਸੰਬੰਧਿਤ ਹੈ, ਜਾਂ ਕਿ ਇਹ ਉਸ ਕਾਰੋਬਾਰੀ ਨਾਮ ਨਾਲ ਜੁੜਿਆ ਹੈ ਜਿਸਦੀ ਤੁਸੀਂ ਉਮੀਦ ਕਰਦੇ ਹੋ। ਇਸ ਨੂੰ ਸਪੈਲ-ਚੈਕਿੰਗ ਬਨਾਮ ਤੱਥ-ਚੈਕਿੰਗ ਵਾਂਗ ਸੋਚੋ। ਇਹ ਟੂਲ ਤੁਹਾਨੂੰ ਦੱਸਦਾ ਹੈ ਕਿ ਇੱਕ CNPJ ਗਣਿਤੀ ਨਿਯਮਾਂ ਅਨੁਸਾਰ "ਸਪੈਲ" ਸਹੀ ਹੈ, ਪਰ ਇਹ ਨਹੀਂ ਦੱਸ ਸਕਦਾ ਕਿ ਨੰਬਰ ਇੱਕ ਅਸਲ, ਸਰਗਰਮ ਕਾਰੋਬਾਰੀ ਇਕਾਈ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ। ### ਕਾਨੂੰਨੀ ਅਤੇ ਨੈਤਿਕ ਵਰਤੋਂ ਉਤਪੰਨ CNPJ ਸਿਰਫ ਟੈਸਟਿੰਗ ਅਤੇ ਵਿਕਾਸ ਲਈ ਹਨ। ਇਹ ਗਣਿਤੀ ਤੌਰ 'ਤੇ ਵੈਲਿਡ ਹਨ ਪਰ ਬ੍ਰਾਜ਼ੀਲੀ ਅਧਿਕਾਰੀਆਂ ਨਾਲ ਰਜਿਸਟਰਡ ਨਹੀਂ ਹਨ, ਜਿਸਦਾ ਮਤਲਬ ਹੈ: - ✅ **ਲਈ ਸੁਰੱਖਿਅਤ ਹੈ:** ਟੈਸਟ ਡੇਟਾਬੇਸ ਭਰਨਾ, ਯੂਨਿਟ ਟੈਸਟਿੰਗ ਵੈਲੀਡੇਸ਼ਨ ਲੌਜਿਕ, QA ਵਾਤਾਵਰਣ, ਦਸਤਾਵੇਜ਼ੀਕਰਣ ਵਿੱਚ ਕੋਡ ਉਦਾਹਰਣਾਂ - ❌ **ਕਦੇ ਨਾ ਵਰਤੋ:** ਟੈਕਸ ਫਾਈਲਿੰਗ, ਕਾਰੋਬਾਰ ਰਜਿਸਟ੍ਰੇਸ਼ਨ, ਠੇਕੇ 'ਤੇ ਦਸਤਖਤ ਕਰਨਾ, ਅਸਲ ਲੈਣ-ਦੇਣ ਨੂੰ ਸੰਸਾਧਿਤ ਕਰਨਾ, ਜਾਂ ਕਾਰੋਬਾਰੀ ਪਛਾਣ ਨੂੰ ਗਲਤ ਤਰੀਕੇ ਨਾਲ ਪੇਸ਼ ਕਰਨਾ ਇੱਕ ਨਕਲੀ CNPJ ਨੂੰ ਅਧਿਕਾਰਿਕ ਉਦੇਸ਼ਾਂ ਲਈ ਵਰਤਣਾ ਸਿਰਫ ਗੈਰ-ਨੈਤਿਕ ਨਹੀਂ ਹੈ—ਇਹ ਬ੍ਰਾਜ਼ੀਲੀ ਕਾਨੂੰਨ ਦੇ ਤਹਿਤ ਗੈਰ-ਕਾਨੂੰਨੀ ਹੈ ਅਤੇ ਇਸ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਧੋਖਾਧੜੀ ਦੇ ਆਰੋਪ ਲੱਗ ਸਕਦੇ ਹਨ। ### ਜਾਣਨ ਯੋਗ ਤਕਨੀਕੀ ਸੀਮਾਵਾਂ **ਯਾਦਦਾਸ਼ਤ ਉਤਪੰਨ ਕਰਨ ਦੇ ਪ੍ਰਭਾਵ:** ਟੂਲ ਪਹਿਲੇ 12 ਅੰਕ ਯਾਦਦਾਸ਼ਤ ਨਾਲ ਉਤਪੰਨ ਕਰਦਾ ਹੈ। ਅਸਲ CNPJ ਰੀਸੇਟਾ ਫੈਡਰਲ ਦੁਆਰਾ ਜਾਰੀ ਕੀਤੇ ਗਏ ਅੰਦਰੂਨੀ ਪੈਟਰਨਾਂ ਦਾ ਪਾਲਣ ਕਰਦੇ ਹਨ ਜੋ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਤਾਰੀਖ, ਖੇਤਰੀ ਦਫਤਰ ਅਤੇ ਕਾਰੋਬਾਰ ਦੇ ਪ੍ਰਕਾਰ ਨਾਲ ਸੰਬੰਧਿਤ ਹਨ। ਉਤਪੰਨ ਨੰਬਰ ਇਨ੍ਹਾਂ ਪੈਟਰਨਾਂ ਨਾਲ ਮੇਲ ਨਹੀਂ ਖਾਉਂਦੇ, ਜਿਨ੍ਹਾਂ ਨੂੰ ਸਫਿਸਟੀਕੇਟਡ ਵੈਲੀਡੇਸ਼ਨ ਸਿਸਟਮ ਫਲੈਗ ਕਰ ਸਕਦੇ ਹਨ। **ਕੋਈ ਸੈਮੈਂਟਿਕ ਵੈਲੀਡੇਸ਼ਨ ਨਹੀਂ:** ਇੱਕ ਵੈਲਿਡ CNPJ ਫਾਰਮੈਟ ਦਾ ਮਤਲਬ ਵੈਲਿਡ ਕਾਰੋਬਾਰ ਸੰਦਰਭ ਨਹੀਂ ਹੈ। ਉਦਾਹਰਣ ਲਈ, ਸਰਕਾਰੀ ਇਕਾਈਆਂ ਦੇ ਕੁਝ CNPJ ਰੇਂਜ ਹੁੰਦੇ ਹਨ—ਇਹ ਜਨਰੇਟਰ ਸੰਯੋਗ ਨਾਲ ਇੱਕ ਬਣਾ ਸਕਦਾ ਹੈ, ਪਰ ਇਹ ਅਰਥਪੂਰਨ ਨਹੀਂ ਹੋਵੇਗਾ। **ਫਾਰਮੈਟ ਹੈਂਡਲਿੰਗ:** ਵੈਲੀਡੇਟਰ ਵੱਖ-ਵੱਖ ਇਨਪੁਟ ਫਾਰਮੈਟ ਸਵੀਕਾਰ ਕਰਦਾ ਹੈ (`12345678000195`, `12.345.678/0001-95`), ਪਰ ਕੁਝ ਪੁਰਾਣੇ ਸਿਸਟਮ ਸਟੀਕ ਫਾਰਮੈਟਿੰਗ ਦੀ ਉਮੀਦ ਕਰਦੇ ਹਨ। ਹਮੇਸ਼ਾ ਆਪਣੀਆਂ ਵਿਸ਼ੇਸ਼ ਇੰਟੀਗ੍ਰੇਸ਼ਨ ਲੋੜਾਂ ਨਾਲ ਟੈਸਟ ਕਰੋ। ### ਗੋਪਨੀਯਤਾ ਅਤੇ ਸੁਰੱਖਿਆ ਸਾਰੀ ਪ੍ਰੋਸੈਸਿੰਗ ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਕਲਾਈਂਟ-ਸਾਈਡ ਹੁੰਦੀ ਹੈ। ਤੁਸੀਂ ਜੋ CNPJ ਉਤਪੰਨ ਜਾਂ ਵੈਲੀਡੇਟ ਕਰਦੇ ਹੋ ਉਹ ਸਰਵਰਾਂ 'ਤੇ ਨਹੀਂ ਭੇਜੇ ਜਾਂਦੇ, ਲੌਗ ਨਹੀਂ ਕੀਤੇ ਜਾਂਦੇ, ਜਾਂ ਸਟੋਰ ਨਹੀਂ ਕੀਤੇ ਜਾਂਦੇ। ਟੂਲ ਕਿਸੇ ਵੀ ਨਿੱਜੀ ਜਾਣਕਾਰੀ ਦੀ ਬੇਨਤੀ, ਹੈਂਡਲਿੰਗ ਜਾਂ ## CNPJ ਵੈਲੀਡੇਸ਼ਨ ਬਾਰੇ ਅਕਸਰ ਪੁੱਛੇ ਜਾਣ ਵਾਲੇ ਸਵਾਲ ### CNPJ ਦੀ ਵੈਲੀਡੇਸ਼ਨ ਅਤੇ ਵੈਰੀਫਿਕੇਸ਼ਨ ਵਿੱਚ ਕੀ ਅੰਤਰ ਹੈ? **ਵੈਲੀਡੇਸ਼ਨ** ਜਾਂਚ ਕਰਦੀ ਹੈ ਕਿ ਨੰਬਰ ਗਣਿਤੀ ਤੌਰ 'ਤੇ ਸਹੀ ਹੈ—ਸਹੀ ਫਾਰਮੈਟ, ਸਹੀ ਚੈੱਕ ਅੰਕ, ਕੋਈ ਅਵੈਧ ਪੈਟਰਨ ਨਹੀਂ। ਇਹ ਟੂਲ ਵੈਲੀਡੇਸ਼ਨ ਕਰਦਾ ਹੈ। **ਵੈਰੀਫਿਕੇਸ਼ਨ** ਜਾਂਚ ਕਰਦੀ ਹੈ ਕਿ CNPJ ਰੀਸੇਟਾ ਫੈਡਰਲ ਡੇਟਾਬੇਸ ਵਿੱਚ ਇੱਕ ਅਸਲ ਕੰਪਨੀ ਨਾਲ ਰਜਿਸਟਰਡ ਹੈ। ਵੈਰੀਫਿਕੇਸ਼ਨ ਲਈ ਸਰਕਾਰੀ ਡੇਟਾਬੇਸ ਨੂੰ ਕਿਊਰੀ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ ਅਤੇ ਇਹ ਇਸ ਟੂਲ ਦੁਆਰਾ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ। ਤੁਹਾਡੇ ਕੋਲ ਇੱਕ ਬਿਲਕੁਲ ਵੈਲਿਡ CNPJ ਹੋ ਸਕਦਾ ਹੈ ਜੋ ਵੈਰੀਫਾਈਡ ਨਹੀਂ ਹੈ (ਜਿਵੇਂ ਕਿ ਇਹ ਟੂਲ ਉਤਪੰਨ ਕਰਦਾ ਹੈ), ਜਾਂ ਇੱਕ ਅਵੈਧ CNPJ ਜੋ ਇੱਕ ਅਸਲ ਕੰਪਨੀ ਨਾਲ ਸੰਬੰਧਿਤ ਹੈ (ਕਿਉਂਕਿ ਕਿਸੇ ਨੇ ਇਸਨੂੰ ਦਾਖਲ ਕਰਦੇ ਸਮੇਂ ਟਾਈਪੋ ਕੀਤਾ ਹੈ)। ### ਕੀ ਮੈਂ ਉਤਪਾਦਨ ਪਰੀਖਣ ਲਈ ਉਤਪੰਨ CNPJ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦਾ ਹਾਂ? ਇਹ ਇਸ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ ਕਿ ਤੁਹਾਡਾ ਮਤਲਬ "ਉਤਪਾਦਨ ਪਰੀਖਣ" ਤੋਂ ਕੀ ਹੈ। ਉਹ ਸਟੇਜਿੰਗ ਵਾਤਾਵਰਣ, ਲੋਡ ਪਰੀਖਣ ਅਤੇ ਲਾਂਚ ਤੋਂ ਪਹਿਲਾਂ QA ਲਈ ਠੀਕ ਹਨ। ਪਰ ਜੇ "ਉਤਪਾਦਨ ਪਰੀਖਣ" ਦਾ ਮਤਲਬ ਅਸਲ ਲੈਣ-ਦੇਣ, ਅਸਲ ਸਰਕਾਰੀ APIs, ਜਾਂ ਅਸਲ ਵਿੱਤੀ ਸਿਸਟਮਾਂ ਨਾਲ ਪਰੀਖਣ ਹੈ—ਤਾਂ ਨਹੀਂ, ਤੁਹਾਨੂੰ ਅਸਲ ਰਜਿਸਟਰਡ CNPJs ਦੀ ਲੋੜ ਹੈ। ਇੱਕ ਸੁਰੱਖਿਅਤ ਦ�ृਸ਼ਟੀਕੋਣ: ਅਲੱਗ-ਅਲੱਗ ਪਰੀਖਣ ਵਾਤਾਵਰਣ ਵਿੱਚ ਉਤਪੰਨ CNPJ ਦੀ ਵਰਤੋਂ ਕਰੋ, ਫਿਰ ਉਤਪਾਦਨ ਇੰਟੀਗਰੇਸ਼ਨ ਦੀ ਪਰੀਖਿਆ ਕਰਦੇ ਸਮੇਂ ਕੁਝ ਅਸਲ ਪਰੀਖਣ ਕੰਪਨੀ CNPJs (ਜਿਨ੍ਹਾਂ ਨੂੰ ਤੁਸੀਂ ਨਿਯੰਤਰਿਤ ਕਰਦੇ ਹੋ) 'ਤੇ ਸਵਿੱਚ ਕਰੋ। (ਅਨੁਵਾਦ ਜਾਰੀ...) ## ਸੰਦਰਭ ਅਤੇ ਵਾਧੂ ਸਰੋਤ ### ਅਧਿਕਾਰਕ ਸਰਕਾਰੀ ਸਰੋਤ 1. **ਰੈਸੀਟਾ ਫੈਡਰਲ ਡੋ ਬ੍ਰਾਜ਼ੀਲ** - [ਅਧਿਕਾਰਕ ਪੋਰਟਲ](https://www.gov.br/receitafederal/pt-br) - ਬ੍ਰਾਜ਼ੀਲੀ ਫੈਡਰਲ ਰੈਵੇਨਿਊ ਸੇਵਾ ਦੀ ਅਧਿਕਾਰਕ ਵੈਬਸਾਈਟ CNPJ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਅਤੇ ਤਸਦੀਕ ਸੇਵਾਵਾਂ ਲਈ 2. **ਕਨਸਲਟਾ ਪਬਲਿਕਾ CNPJ** - [ਲੋਕ CNPJ ਲੁਕਅੱਪ](https://solucoes.receita.fazenda.gov.br/servicos/cnpjreva/cnpjreva_solicitacao.asp) - CNPJ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਸਥਿਤੀ ਦੀ ਤਸਦੀਕ ਲਈ ਅਧਿਕਾਰਕ ਸਰਕਾਰੀ ਸੇਵਾ 3. **ਨਿਯਮਾਵਲੀ ਨਿਰਦੇਸ਼ RFB ਨੰਬਰ 1863/2018** - ਬ੍ਰਾਜ਼ੀਲ ਵਿੱਚ CNPJ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਅਤੇ ਵਰਤੋਂ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਨ ਵਾਲੇ ਕਾਨੂੰਨੀ ਨਿਯਮ ### ਤਕਨੀਕੀ ਮਾਨਕ ਅਤੇ ਦਸਤਾਵੇਜ਼ੀਕਰਣ 4. **ਮੋਡਿਊਲਰ ਅੰਕਗਣਿਤ ਐਲਗੋਰਿਦਮ** - ਚੈੱਕ ਅੰਕ ਗਣਨਾ [ਮੋਡੂਲੋ 11 ਅੰਕਗਣਿਤ](https://en.wikipedia.org/wiki/Modular_arithmetic) ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ, ਵੈਲੀਡੇਸ਼ਨ ਅੰਕਾਂ ਲਈ ਇੱਕ ਮਾਨਕ ਪਹੁੰਚ 5. **ISO/IEC 7064** - ਚੈੱਕ ਅੰਕ ਪ੍ਰਣਾਲੀਆਂ ਲਈ ਅੰਤਰਰਾਸ਼ਟਰੀ ਮਾਨਕ ਜਿਸਨੇ ਬ੍ਰਾਜ਼ੀਲੀ ਦਸਤਾਵੇਜ਼ ਵੈਲੀਡੇਸ਼ਨ ਡਿਜ਼ਾਈਨ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕੀਤਾ 6. **ਬ੍ਰਾਜ਼ੀਲੀ ਸਿਵਲ ਕੋਡ (ਕਾਨੂੰਨ ਨੰਬਰ 10.406/2002)** - ਕਾਨੂੰਨੀ ਢਾਂਚਾ ਜੋ CNPJ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਦੀ ਲੋੜ ਵਾਲੇ ਕਾਰੋਬਾਰੀ ਇਕਾਈ ਵਰਗੀਕਰਣ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ ### ਡਿਵੈਲਪਰ ਸਰੋਤ 7. **NPM ਪੈਕੇਜ ਰਜਿਸਟਰੀ** - [npmjs.com](https://www.npmjs.com) - ਜਾਵਾਸਕ੍ਰਿਪਟ ਲਾਇਬ੍ਰੇਰੀਆਂ ਦਾ ਭੰਡਾਰ ਜਿਸਵਿੱਚ ਬ੍ਰਾਜ਼ੀਲੀ ਦਸਤਾਵੇਜ਼ ਵੈਲੀਡੇਟਰ ਸ਼ਾਮਲ ਹਨ 8. **PyPI (ਪਾਈਥਨ ਪੈਕੇਜ ਇੰਡੈਕਸ)** - [pypi.org](https://pypi.org) - CNPJ ਵੈਲੀਡੇਸ਼ਨ ਅਤੇ ਬ੍ਰਾਜ਼ੀਲੀ ਦਸਤਾਵੇਜ਼ ਪ੍ਰੋਸੈਸਿੰਗ ਲਈ ਪਾਈਥਨ ਲਾਇਬ੍ਰੇਰੀਆਂ 9. **GitHub** - ਕਈ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚ CNPJ ਵੈਲੀਡੇਸ਼ਨ ਦੇ ਓਪਨ-ਸੋਰਸ ਲਾਗੂਕਰਨ ## CNPJ ਜਨਰੇਟ ਕਰਨਾ ਅਤੇ ਵੈਲੀਡੇਟ ਕਰਨਾ ਸ਼ੁਰੂ ਕਰੋ ਭਾਵੇਂ ਤੁਸੀਂ ਇੱਕ ਬ੍ਰਾਜ਼ੀਲੀ ਈ-ਕਾਮਰਸ ਪਲੇਟਫਾਰਮ ਬਣਾ ਰਹੇ ਹੋ, ਮਰਕਾਡੋ ਪਾਗੋ ਦੇ ਨਾਲ ਭੁਗਤਾਨ ਇੰਟੀਗਰੇਸ਼ਨ ਦਾ ਪਰੀਖਣ ਕਰ ਰਹੇ ਹੋ, ਜਾਂ ਬਸ CNPJ ਵੈਲੀਡੇਸ਼ਨ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ ਇਸ ਨੂੰ ਸਮਝਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਇਹ ਟੂਲ ਤੁਹਾਨੂੰ ਤੁਰੰਤ ਜਨਰੇਸ਼ਨ ਅਤੇ ਵੈਲੀਡੇਸ਼ਨ ਦੀਆਂ ਸਮਰੱਥਾਵਾਂ ਤੱਕ ਪਹੁੰਚ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਕੋਈ ਇੰਸਟਾਲੇਸ਼ਨ ਨਹੀਂ, ਕੋਈ API ਕੁੰਜੀਆਂ ਨਹੀਂ, ਕੋਈ ਜਟਿਲ ਸੈਟਅੱਪ ਨਹੀਂ। ਬਸ ਆਪਣਾ ਬ੍ਰਾਊਜ਼ਰ ਖੋਲ੍ਹੋ ਅਤੇ ਵੈਧ ਬ੍ਰਾਜ਼ੀਲੀ ਕਾਰੋਬਾਰੀ ਪਛਾਣਕਰਤਾਵਾਂ ਨਾਲ ਕੰਮ ਕਰਨਾ ਸ਼ੁਰੂ ਕਰੋ।