ਕਰੋਏਸ਼ੀਆ ਦੇ 2026 e-invoice ਨਿਯਮ PHP ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਵੈਲੀਡੇਸ਼ਨ (validation) ਨੂੰ ਮੁੜ ਤੋਂ ਬਣਾਉਣ ਲਈ ਮਜਬੂਰ ਕਰਦੇ ਹਨ – ਟੈਕਸ ਅਥਾਰਟੀ ਦੀ Schematron ਫਾਈਲ XSLT 2.0 'ਤੇ ਨਿਰਭਰ ਕਰਦੀ ਹੈ, ਪਰ ਪ੍ਰਮੁੱਖ PHP XSLT ਇੰਜਣ ਸਿਰਫ਼ XSLT 1.0 ਹੀ ਸਮਝਦਾ ਹੈ। ਨਤੀਜਾ ਇਹ ਹੈ ਕਿ: ਜ਼ਿਆਦਾਤਰ ਅਕਾਊਂਟਿੰਗ ਐਪਸ ਬਿਨਾਂ ਕਿਸੇ ਜੁਗਾੜ (workaround) ਦੇ 62 ਲਾਜ਼ਮੀ ਬਿਜ਼ਨਸ-ਰੂਲ ਚੈੱਕ ਨਹੀਂ ਕਰ ਸਕਦੀਆਂ, ਅਤੇ ਇੱਕ ਰੱਦ ਹੋਇਆ ਇਨਵੌਇਸ B2B ਕੈਸ਼ ਫਲੋ ਨੂੰ ਰੋਕ ਸਕਦਾ ਹੈ।

ਤਕਨੀਕੀ ਰੁਕਾਵਟ ਕਿਉਂ ਮਹੱਤਵਪੂਰਨ ਹੈ

1 ਜਨਵਰੀ 2026 ਤੋਂ ਕਰੋਏਸ਼ੀਆ ਵਿੱਚ ਹਰ B2B ਲੈਣ-ਦੇਣ ਇੱਕ e-Račun ਵਜੋਂ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ ਜੋ 62 ਵਿਸ਼ੇਸ਼ ਵੈਲੀਡੇਸ਼ਨ ਨਿਯਮਾਂ ਦੀ ਪਾਲਣਾ ਕਰਦਾ ਹੋਵੇ। ਟੈਕਸ ਪ੍ਰਸ਼ਾਸਨ ਉਹਨਾਂ ਨਿਯਮਾਂ ਨੂੰ Schematron ਫਾਈਲ ਵਜੋਂ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰਦਾ ਹੈ – ਜੋ ਅਸਲ ਵਿੱਚ ਇੱਕ XSLT 2.0 ਸਟਾਈਲਸ਼ੀਟ ਹੈ ਜੋ ਉਲੰਘਣਾਵਾਂ ਨੂੰ ਫਲੈਗ ਕਰਦੀ ਹੈ। PHP ਦੀ ਬਿਲਟ-ਇਨ libxslt ਲਾਇਬ੍ਰੇਰੀ, ਜੋ ਪ੍ਰਸਿੱਧ xsltproc ਅਤੇ ਜ਼ਿਆਦਾਤਰ Composer ਪੈਕੇਜਾਂ ਨੂੰ ਚਲਾਉਂਦੀ ਹੈ, ਸਿਰਫ਼ XSLT 1.0 ਨੂੰ ਲਾਗੂ ਕਰਦੀ ਹੈ। XSLT 2.0 ਸਪੋਰਟ ਤੋਂ ਬਿਨਾਂ Schematron ਨੂੰ ਲਾਗੂ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ, ਜਿਸਦਾ ਮਤਲਬ ਹੈ ਕਿ PHP-ਅਧਾਰਤ ਇਨਵੌਇਸਿੰਗ ਸਿਸਟਮ ਜਾਂ ਤਾਂ ਅਜਿਹੇ ਇਨਵੌਇਸ ਬਣਾਏਗਾ ਜਿਨ੍ਹਾਂ ਨੂੰ ਟੈਕਸ ਪੋਰਟਲ ਰੱਦ ਕਰ ਦੇਵੇਗਾ ਜਾਂ ਇਸਨੂੰ ਕਿਸੇ ਹੋਰ ਭਾਸ਼ਾ ਜਾਂ ਸਰਵਿਸ ਦੀ ਮਦਦ ਲੈਣੀ ਪਵੇਗੀ।

ਤਿੰਨ ਰਸਤੇ ਜੋ ਡਿਵੈਲਪਰ ਅਪਣਾ ਸਕਦੇ ਹਨ

ਵਿਕਲਪ ਇਸ ਵਿੱਚ ਕੀ ਸ਼ਾਮਲ ਹੈ ਵਿਹਾਰਕ ਨੁਕਸਾਨ
SaxonC PECL extension Saxon-C ਪ੍ਰੋਸੈਸਰ ਨੂੰ ਇੱਕ ਨੇਟਿਵ PHP ਐਕਸਟੈਂਸ਼ਨ ਵਜੋਂ ਇੰਸਟਾਲ ਕਰੋ, ਫਿਰ ਸਿੱਧੇ ਤੌਰ 'ਤੇ Schematron ਨੂੰ ਕਾਲ ਕਰੋ। ਇਹ ਐਕਸਟੈਂਸ਼ਨ ਆਮ Composer ਵਰਕਫਲੋ ਦਾ ਹਿੱਸਾ ਨਹੀਂ ਹੈ; ਵੱਖ-ਵੱਖ ਸਰਵਰਾਂ 'ਤੇ ਨੇਟਿਵ ਬਾਈਨਰੀਆਂ ਬਣਾਉਣਾ ਅਤੇ ਤਾਇਨਾਤ ਕਰਨਾ ਗੁੰਝਲਦਾਰੀ ਵਧਾਉਂਦਾ ਹੈ।
External validation service XML ਨੂੰ ਇੱਕ ਵੈੱਬ-ਸਰਵਿਸ ਨੂੰ ਭੇਜੋ ਜੋ ਤੁਹਾਡੇ ਵੱਲੋਂ Schematron ਚਲਾਉਂਦੀ ਹੈ। ਹੁਣ ਹਰ ਇਨਵੌਇਸ ਨੈੱਟਵਰਕ ਲੇਟੈਂਸੀ ਅਤੇ ਸਰਵਿਸ ਦੀ ਉਪਲਬਧਤਾ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ; ਇੱਕ ਅਸਥਾਈ ਰੁਕਾਵਟ ਇਨਵੌਇਸਿੰਗ ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਰੋਕ ਸਕਦੀ ਹੈ।
Re-implement the rules in PHP 62 Schematron ਐਸਰਸ਼ਨਾਂ (assertions) ਨੂੰ ਨੇਟਿਵ PHP ਕੋਡ ਵਿੱਚ ਬਦਲੋ। ਇਸ ਲਈ ਸ਼ੁਰੂਆਤੀ ਕੋਸ਼ਿਸ਼ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਪਰ ਇੱਕ ਵਾਰ ਕੋਡ ਲਿਖਣ ਤੋਂ ਬਾਅਦ ਵੈਲੀਡੇਟਰ ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਚੱਲਦਾ ਹੈ, ਕਿਸੇ ਵੀ PHP ਸਟੈਕ ਨਾਲ ਸਾਫ਼ ਤਰੀਕੇ ਨਾਲ ਜੁੜ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਬਾਹਰੀ ਨਿਰਭਰਤਾਵਾਂ ਨੂੰ ਖਤਮ ਕਰਦਾ ਹੈ।

ਉਹ ਲੁਕੀਲੀ ਲੌਜਿਕ ਜੋ ਸਧਾਰਨ ਇੰਪਲੀਮੈਂਟੇਸ਼ਨਾਂ ਨੂੰ ਗਲਤ ਕਰ ਦਿੰਦੀ ਹੈ

Schematron ਦਾ ਇੱਕ ਸਧਾਰਨ ਅਨੁਵਾਦ ਅਜੇ ਵੀ ਬਾਰੀਕ ਅਰਥਾਂ (semantics) ਨੂੰ ਮਿਸ ਕਰ ਸਕਦਾ ਹੈ। ਨਿਯਮ HR-BR-4 ਨੂੰ ਲਓ: “ਜੇਕਰ ਭੁਗਤਾਨਯੋਗ ਰਕਮ ਜ਼ੀਰੋ ਤੋਂ ਵੱਧ ਹੈ, ਤਾਂ ਡਿਊ ਡੇਟ (due date) ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ।” Schematron ਇੱਕ ਅਜਿਹਾ ਵੇਰੀਏਬਲ (variable) ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ ਜੋ ਕ੍ਰੈਡਿਟ ਨੋਟਾਂ ਲਈ ਇਨਵੌਇਸ ਦੀ ਰਕਮ ਨੂੰ –1 ਨਾਲ ਗੁਣਾ ਕਰਦਾ ਹੈ। ਰਅਅ

  • ਕਮਿਊਨਿਟੀ-ਡਰਾਈਵਨ PHP ਵੈਲੀਡੇਟਰ – ਜਿਵੇਂ-ਜਿਵੇਂ ਵਧੇਰੇ ਡਿਵੈਲਪਰ ਰੀ-ਇਮਪਲੀਮੈਂਟੇਸ਼ਨ ਪਹੁੰਚ ਅਪਣਾਉਂਦੇ ਹਨ, ਫੋਰਕਸ (forks) ਅਤੇ ਐਕਸਟੈਂਸ਼ਨਾਂ ਦੀ ਉਮੀਦ ਰੱਖੋ ਜੋ ਯੂਨਿਟ-ਟੈਸਟ ਫਿਕਸਰ, ਹੋਰ ਫਰੇਮਵਰਕਾਂ ਲਈ ਸਹਾਇਤਾ, ਜਾਂ ਪਰਫਾਰਮੈਂਸ ਵਿੱਚ ਸੁਧਾਰ ਜੋੜਦੇ ਹਨ।

ਨਿਚੋੜ

ਕਰੋਏਸ਼ੀਆ ਦਾ 2026 ਦਾ ਈ-ਇਨਵੌਇਸ (e-invoice) ਲਾਗੂ ਕਰਨ ਦਾ ਨਿਰਦੇਸ਼ PHP ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਇੱਕ ਆਧੁਨਿਕ XSLT 2.0 Schematron ਅਤੇ ਭਾਸ਼ਾ ਦੇ ਪੁਰਾਣੇ XSLT 1.0 ਇੰਜਣ ਦੇ ਵਿਚਕਾਰ ਅਸੰਗਤਤਾ ਦਾ ਸਾਹਮਣਾ ਕਰਨ ਲਈ ਮਜਬੂਰ ਕਰਦਾ ਹੈ। 62 ਕਾਰੋਬਾਰੀ ਨਿਯਮਾਂ ਨੂੰ ਨੇਟਿਵ PHP ਵਿੱਚ ਅਨੁਵਾਦ ਕਰਨਾ, ਲੁਕਵੇਂ ਵੇਰੀਏਬਲ ਲੌਜਿਕ 'ਤੇ ਨਜ਼ਰ ਰੱਖਣਾ, ਅਤੇ ਆਮ XML ਗਲਤੀਆਂ ਤੋਂ ਬਚਣਾ ਇਨਵੌਇਸਿੰਗ ਨੂੰ ਇਨ-ਹਾਊਸ ਰੱਖਦਾ ਹੈ, ਨੈੱਟਵਰਕ ਨਾਲ ਸਬੰਧਤ ਅਸਫਲਤਾਵਾਂ ਤੋਂ ਬਚਾਉਂਦਾ ਹੈ, ਅਤੇ ਜਦੋਂ ਸਮਾਂ ਸੀਮਾ ਆਉਂਦੀ ਹੈ, ਤਾਂ ਅਕਾਊਂਟਿੰਗ ਸਾਫਟਵੇਅਰ ਨੂੰ ਇੱਕ ਸੁਚਾਰੂ ਅਤੇ ਅਨੁਕੂਲ ਰੋਲਆਊਟ ਲਈ ਤਿਆਰ ਕਰਦਾ ਹੈ।