HMRC کے میکنگ ٹیکس ڈیجیٹل API سے کیسے جڑیں: ایک ابتدائی رہنما

اگر آپ یو کے ٹیکس ادا کرنے والے لوگوں کے لیے سافٹ ویئر لکھ رہے ہیں، تو شاید آپ کو جلد یا بدیر HMRC سے رابطہ کرنا پڑے گا۔

انکم ٹیکس کے لیے ٹیکس ڈیجیٹل (MTD) 6 اپریل 2026 کو شروع ہوا اور £50,000 سے زیادہ کی کوالیفائنگ آمدنی والے سیلف ایمپلائڈ لوگوں اور زمینداروں کے لیے پہلے سے ہی لازمی ہے۔ یہ حد اپریل 2027 میں £30,000 اور اپریل 2028 میں £20,000 تک گر جائے گی، اس لیے اگلے دو سالوں میں آبادی تقریباً تین گنا ہو جائے گی۔

عملی طور پر، اس کا مطلب ہے کہ بہت سے چھوٹے کاروباروں کو اپنے اعداد و شمار HMRC کو بھیجنے کے لیے سافٹ ویئر کی ضرورت ہوگی، اور کسی کو یہ سافٹ ویئر بنانا ہوگا۔

جب آپ پہلی بار HMRC کی ڈویلپر دستاویزات کھولیں گے، تو آپ کو مخففات سے بھری دیوار نظر آئے گی: MTD، ITSA، OAuth اسکوپس، اینٹی فراڈ ہیڈرز، ذمہ داریاں، وغیرہ۔ یہ خوفناک لگتا ہے، اور اس میں سے زیادہ تر واقعی مشکل ہے۔ تاہم، 0 سے پہلی توثیق شدہ API کال تک کا راستہ اس سے کہیں زیادہ قابل رسائی ہے کہ کوئی آپ کو اس کے ذریعے قدم بہ قدم لے جائے۔

یہ بالکل وہی ہے جو یہ گائیڈ کرتا ہے۔ میں نے میکنگ ٹیکس ڈیجیٹل ایپ کے لیے ایک HMRC انٹیگریشن بنایا ہے، اور میں آپ کو انہی اقدامات سے آگاہ کروں گا جو میں نے اٹھائے تھے، بشمول MTD کیا ہے، سینڈ باکسڈ ایپ کیسے حاصل کی جائے، OAuth لاگ ان فلو کیسے کام کرتا ہے، اینٹی فراڈ ہیڈرز کیا ہیں، اور اصل کال کیسے کریں۔ کوڈ Node اور TypeScript ہے، لیکن خیالات کسی بھی زبان میں منتقل ہوتے ہیں۔

انڈیکس

ڈیجیٹائزنگ ٹیکسز کیا ہے؟

ٹیکس ڈیجیٹل بنانا HMRC کا پروگرام ہے جو ٹیکس ریکارڈ مینجمنٹ اور فائلنگ کو سافٹ ویئر میں منتقل کرتا ہے۔

کسی ویب سائٹ پر سالانہ سیلف اسیسمنٹ ریٹرن داخل کرنے کے بجائے، MTD برائے انکم ٹیکس لوگوں سے ڈیجیٹل ریکارڈ رکھنے اور HMRC کو سال کے آخر میں حتمی ریٹرن بھیجنے سے پہلے ہر سہ ماہی میں اپنی آمدنی اور اخراجات کی مجموعی اپ ڈیٹ بھیجنے کو کہتا ہے۔

(سرکاری دائرہ کار اور نظام الاوقات کے لیے، GOV.UK پر انکم ٹیکس گائیڈنس MTD دیکھیں)

ایک سال آگے، HMRC مہم کا گرافک ڈیجیٹائزنگ انکم ٹیکس پڑھیں

ڈویلپرز کے لیے اہم حصہ یہ ہے کہ HMRC ایک بھی "رپورٹ ٹیکسز” بٹن فراہم نہیں کرتا ہے۔ ڈیولپر حب REST APIs کا ایک سیٹ فراہم کرتا ہے۔ ایک فرد کے کاروبار کی فہرست بنانے کے لیے، ایک رپورٹنگ کی ذمہ داریوں کو پڑھنے کے لیے (بقول اور کب)، ایک سہ ماہی کے اعداد و شمار جمع کرنے کے لیے، ایک ٹیکس کے حسابات چلانے کے لیے، اور اسی طرح کے دیگر۔

ہم اسے ایک سفر کے طور پر تیار کرتے ہیں۔ وہ سب ایک ہی دو دروازوں کے پیچھے جاتے ہیں: ایک OAuth 2.0 رسائی ٹوکن اور اینٹی فراڈ ہیڈرز کا ایک سیٹ۔ اگر آپ ان دو چیزوں کو صحیح طریقے سے کرتے ہیں تو، باقی HTTPS پر سادہ JSON ہے۔

مرحلہ 1: ایک سینڈ باکس ایپلیکیشن بنائیں

ریئل ٹائم ٹیکس دہندگان کے ڈیٹا پر مجھے شروع نہ کریں۔ HMRC ایک مکمل سینڈ باکس چلاتا ہے: test-api.service.hmrc.gov.uk یہ پروڈکشن میزبان کا آئینہ دار ہے (api.service.hmrc.gov.uk) آپ جانچنے کے لیے جعلی ٹیکس دہندہ بنا سکتے ہیں۔

اصل ترتیب حسب ذیل ہے:

  1. HMRC ڈویلپر ہب پر ایک مفت اکاؤنٹ رجسٹر کریں۔

  2. ایک درخواست بنائیں۔ تم ہو کلائنٹ آئی ڈی اور کلائنٹ پاس ورڈ. پاس ورڈ کی طرح رازوں کا علاج کریں۔ اسے ماحول کے متغیر میں رکھیں، ذریعہ میں نہیں۔

  3. ترتیب URI کو ری ڈائریکٹ کریں۔. یہ وہ URL ہے جسے HMRC آپ کے لاگ ان کرنے کے بعد آپ کو واپس بھیجے گا۔ مقامی کارروائیوں کے لیے: http://localhost:3000/auth/hmrc/callback تم ٹھیک ہو؟ بعد میں، آپ کو بالکل کریکٹر سے کریکٹر سے ملنے کی ضرورت ہے۔

  4. سبسکرائب کریں اپنی درخواست کو مطلوبہ APIs میں شامل کریں۔ یہ وہ مرحلہ ہے جس سے ابتدائی کمی محسوس ہوتی ہے۔ صرف ان کی فہرست دینا کافی نہیں ہے۔ ہر API پر کلک کریں اور سبسکرائب کریں۔ اگر آپ بھول گئے تو آپ دوبارہ کال کریں گے۔ 403 Forbidden بغیر کسی ظاہری وجہ کے۔

آپ کے کوڈ میں، سینڈ باکس اور پروڈکشن کے درمیان فرق صرف بنیادی یو آر ایل ہے، لہذا بہتر ہے کہ اسے ہارڈ کوڈ کرنے کے بجائے اپنی ترتیب میں رکھیں۔

const config = {
  sandbox: {
    baseUrl: 'https://test-api.service.hmrc.gov.uk',
    authUrl: 'https://test-api.service.hmrc.gov.uk/oauth/authorize',
    tokenUrl: 'https://test-api.service.hmrc.gov.uk/oauth/token',
  },
  production: {
    baseUrl: 'https://api.service.hmrc.gov.uk',
    authUrl: 'https://api.service.hmrc.gov.uk/oauth/authorize',
    tokenUrl: 'https://api.service.hmrc.gov.uk/oauth/token',
  },
};

ایک چیز جو میں نے مشکل طریقے سے سیکھی ہے وہ ہے اپنے ماحول کو واضح ترتیبات میں منتخب کرنا۔ NODE_ENV. آخر کار آپ چاہیں گے کہ آپ کی پروڈکشن کی تعیناتیاں HMRC سینڈ باکس کی طرف اشارہ کریں، یہاں تک کہ بیٹا مدت کے دوران، چاہے URL بند ہو۔ NODE_ENV اکیلے، یہ مجموعہ پروڈکشن HMRC کو سینڈ باکس کی اسناد کو مسترد کرنے پر مجبور کرتا ہے کہ: client_id is invalid. چھوٹا HMRC_BASE_URL ماحولیاتی متغیرات، جو ہمیشہ جیتتے ہیں، اس الجھن کو کم کرتے ہیں۔

مرحلہ 2: OAuth دائرہ کار کو سمجھیں۔

جب کوئی ایپ صارف سے رسائی کی درخواست کرتی ہے، تو وہ کچھ خاص معلومات طلب کرتی ہے۔ رینجیہ ایک نام کی اجازت ہے۔ MTD انکم ٹیکس کے لیے، آپ کیا چاہتے ہیں: read:self-assessment اور write:self-assessment (HMRC بھی بے نقاب read:vat اور write:vat VAT API کے لیے)۔ HMRC اسے اپنی OAuth 2.0 توثیق گائیڈ میں دستاویز کرتا ہے۔ اسپیس کے ساتھ جڑیں۔

const scopes = ['read:self-assessment', 'write:self-assessment'].join(' ');

صارفین ان کو HMRC کی رضامندی والی اسکرینوں پر ہجے دیکھیں گے، اس لیے صرف اس بارے میں پوچھیں کہ وہ اصل میں کیا استعمال کرتے ہیں۔

مرحلہ 3: OAuth 2.0 تصدیقی کوڈ کا بہاؤ

یہ انضمام کا دل ہے، معیاری تین ٹانگوں والا OAuth رقص۔ اسے ایپ کے طور پر سوچیں، صارف اور HMRC لاٹھی سے گزر رہے ہیں۔ چار لمحے ہیں۔ آپ صارف کو HMRC پر بھیجتے ہیں، HMRC اسے کوڈ کے ساتھ واپس بھیجتا ہے، کوڈ کو ٹوکن میں بدل دیتا ہے، اور اس کے بعد اس ٹوکن کو ریفریش کرتا ہے۔

صارف، ایپلیکیشن، اور HMRC API کے درمیان OAuth بہاؤ کی ترتیب کا خاکہ

3a صارف کو HMRC پر بھیجیں۔

ایک تصدیقی یو آر ایل بنائیں اور براؤزر کو اس یو آر ایل پر ری ڈائریکٹ کریں۔ استفسار کے اسٹرنگ میں کلائنٹ ID، دائرہ کار، ری ڈائریکٹ URI، response_type=codeاور state قدر:

function getAuthorizationUrl(state: string): string {
  const params = new URLSearchParams({
    response_type: 'code',
    client_id: hmrcConfig.clientId,
    scope: hmrcConfig.scopes,
    state: state,
    redirect_uri: hmrcConfig.redirectUri,
  });
  return hmrcConfig.authUrl + '?' + params.toString();
}

کہ state اقدار کی اہمیت ہے۔ یہ کراس سائٹ درخواست جعلسازی (CSRF) کے خلاف دفاع ہے۔ یہ ایک بے ترتیب، ناقابل یقین سٹرنگ تیار کرتا ہے، اسے سرور سائیڈ پر اسٹور کرتا ہے، اسے اس سے منسلک کرتا ہے، اور صارف کے واپس آنے پر اسے دوبارہ چیک کرتا ہے۔ کال بیک کو مسترد کرتا ہے اگر واپس کی گئی قیمت جاری کردہ قیمت سے مماثل نہیں ہے۔ ایک عام پیٹرن UUID بنانا اور اسے صارف کی شناخت اور ٹائم اسٹیمپ کے ساتھ چھپانا ہے۔

const state = uuidv4();
await setStateToken(state, { createdAt: Date.now(), userId });
res.redirect(getAuthorizationUrl(state));

صارفین اب HMRC کے اپنے صفحہ پر لاگ ان ہونے اور دائرہ کار کو منظور کرنے کے لیے اپنے سرکاری گیٹ وے کی اسناد کا استعمال کریں گے۔ آپ کی ایپ کبھی بھی آپ کا پاس ورڈ نہیں دیکھتی ہے، جو OAuth کا دل ہے۔

3b. کال بیک ہینڈلنگ

HMRC ری ڈائریکٹ URI پر واپس بھیجنے کے لیے دو استفسار کے پیرامیٹرز کا استعمال کرتا ہے۔ code اور state (یا error اگر صارف انکار کرتا ہے)۔ یہ پہلے ریاست کی توثیق کرتا ہے اور پھر اسے فوری طور پر حذف کر دیتا ہے تاکہ اسے دوبارہ نہیں چلایا جا سکے، اسے ڈسپوزایبل بنا دیا جائے۔

const stored = await getStateToken(state);
if (!state || !stored) {
  return redirectError('Invalid or expired authorization request');
}
await deleteStateToken(state); // single-use: delete the moment it validates

// Optional but sensible: expire stale requests (here, 10 minutes).
if (Date.now() - stored.createdAt > 10 * 60 * 1000) {
  return redirectError('Authorization request has expired. Please try again.');
}

3c ٹوکنز کے لیے اپنے کوڈ کا تبادلہ کریں۔

کہ code یہ اپنے طور پر قلیل المدت اور بیکار ہے۔ رسائی ٹوکن اور ریفریش ٹوکنز کے لیے سرور سے سرور تک تبادلہ کریں۔ یہ ہے POST ٹوکن اینڈ پوائنٹ تک grant_type=authorization_codeاسے فارم میں انکوڈ کیا گیا ہے، بشمول کلائنٹ سیکرٹ۔ راز یہ ہے کہ ایسا بیک اینڈ میں کیوں ہوتا ہے براؤزر میں نہیں۔

async function exchangeCodeForTokens(code: string) {
  const response = await axios.post(
    hmrcConfig.tokenUrl,
    new URLSearchParams({
      grant_type: 'authorization_code',
      code,
      client_id: hmrcConfig.clientId,
      client_secret: hmrcConfig.clientSecret,
      redirect_uri: hmrcConfig.redirectUri,
    }).toString(),
    { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } },
  );

  return {
    accessToken: response.data.access_token,
    refreshToken: response.data.refresh_token,
    expiresIn: response.data.expires_in, // seconds until the access token dies
  };
}

ان ٹوکنز کو سرور سائیڈ پر اسٹور کریں، انہیں صارف کے ساتھ جوڑیں، اور انہیں کلائنٹ کو کبھی نہ بھیجیں۔ رسائی ٹوکن مستقبل کی تمام API کالوں کی اجازت دیتا ہے۔ میمو expires_in: HMRC رسائی ٹوکن مختصر مدت کے ہیں (فی الحال 4 گھنٹے) اس لیے مرحلہ 3d درکار ہے۔

3d ٹوکن ریفریش

اگر رسائی ٹوکن کی میعاد ختم ہو جاتی ہے، تو صارف کو دوبارہ لاگ ان کرنے پر مجبور نہ کریں۔ نئے جوڑے حاصل کرنے کے لیے ریفریش ٹوکن استعمال کریں۔ grant_type=refresh_token:

async function refreshAccessToken(refreshToken: string) {
  const response = await axios.post(
    hmrcConfig.tokenUrl,
    new URLSearchParams({
      grant_type: 'refresh_token',
      refresh_token: refreshToken,
      client_id: hmrcConfig.clientId,
      client_secret: hmrcConfig.clientSecret,
    }).toString(),
    { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } },
  );
  return {
    accessToken: response.data.access_token,
    refreshToken: response.data.refresh_token,
    expiresIn: response.data.expires_in,
  };
}

ایک اچھی پریکٹس یہ ہے کہ ہر کال سے پہلے ذخیرہ شدہ ٹوکنز کی میعاد ختم ہونے کی جانچ کی جائے اور جب ٹوکن تقریباً ختم ہو جائیں تو انہیں فعال طور پر تازہ کریں۔ HMRC کے OAuth دستاویزات کا مکمل لائف سائیکل ہے۔

مرحلہ 4: اینٹی فراڈ ہیڈرز (وہ حصہ جس کے بارے میں کوئی آپ کو خبردار نہیں کرتا)

حیرت کی بات یہ ہے: زیادہ تر APIs بیئرر ٹوکن سے خوش ہیں۔ HMRC نہیں کرتا۔ قانون کے مطابق، آپ کا سافٹ ویئر درج ذیل سیٹوں میں بھیجا جانا چاہیے: اینٹی فراڈ ہیڈر تمام MTD کالز: درجنوں Gov-Client-* اور Gov-Vendor-* ایک ہیڈر جو درخواست کرنے والے ڈیوائس، نیٹ ورک پاتھ، اور سافٹ ویئر کی وضاحت کرتا ہے۔ یہ HMRC کو ہزاروں فریق ثالث فراہم کنندگان میں اسناد کے غلط استعمال کا پتہ لگانے میں مدد کرتا ہے۔

چونکہ یہ گائیڈ کنیکٹیویٹی کے بارے میں ہے، اس لیے ہم اسے اعلیٰ معیار پر رکھیں گے۔ HMRC کے اینٹی فراڈ ہیڈر کی تفصیلات کو بغور پڑھیں کیونکہ قواعد بالکل درست ہیں اور خرابی کے طریقے خاموش ہیں۔

سب سے اہم فیصلہ یہ ہے کہ آپ کس طرح جڑیں گے۔ Gov-Client-Connection-Method. سرور ثالثی ویب ایپس استعمال کرتی ہیں: WEB_APP_VIA_SERVER; سرور کی ثالثی والی موبائل ایپس استعمال کرتی ہیں: MOBILE_APP_VIA_SERVER. یہ انتخاب اس بات کا تعین کرتا ہے کہ کون سے ہیڈر درکار ہیں اور کون سے ممنوع ہیں، لہذا تمام ہیڈر برآمد نہ کریں۔

ابتدائی افراد کے لیے واقعی اچھی خبر یہ ہے کہ HMRC ایک ٹیسٹ فراڈ پریونشن ہیڈرز API فراہم کرتا ہے جو آپ کی درخواست کا معائنہ کرے گا اور آپ کو بتائے گا کہ کون سے ہیڈرز غائب ہیں یا خراب ہیں۔ آپ کی پہلی کمٹ پر اس توثیق کرنے والے کی تعمیر ایک اندازہ لگانے والے کھیل کو چیک لسٹ میں بدل دیتی ہے۔

اپنی پہلی سینڈ باکس کال کو کام کرنے کے لیے آپ کو اس تفصیلات کی مکمل گہرائی کی ضرورت نہیں ہے، لیکن آپ کو پروڈکشن ڈیٹا کے قریب کہیں جانے سے پہلے اس کی ضرورت ہے، لہذا اسے آخر تک نہ چھوڑیں اور حقیقی وقت میں اس کے لیے بجٹ بنائیں۔

مرحلہ 5: اپنی پہلی تصدیقی کال کریں۔

اب ہمارے پاس ایک ٹوکن اور ہیڈر ہے۔ یہ ایک حقیقی درخواست کا وقت ہے۔ ہر MTD کال ٹوکن کے اوپر دو چیزیں سیٹ کرتی ہے: Accept ہیڈرز جو API ورژن کو پن کرتے ہیں اور فراڈ ہیڈرز:

async function request(method, path, accessToken, req, data = null, apiVersion = '2.0') {
  const headers = {
    Authorization: `Bearer ${accessToken}`,
    Accept: `application/vnd.hmrc.${apiVersion}+json`,
    ...hmrcConfig.getFraudHeaders(req),
  };
  // Only set a JSON Content-Type when there is actually a body (see gotcha 3).
  if (data !== null && data !== undefined) {
    headers['Content-Type'] = 'application/json';
  }
  const res = await axios({ baseURL: hmrcConfig.baseUrl, method, url: path, headers, data });
  return res.data;
}

بہترین طریقہ یہ ہے کہ نیشنل انشورنس نمبر (NINO) اور کاروباری تفصیلات API کا استعمال کرتے ہوئے "اس شخص کے کاروبار کی فہرست بنائیں”۔ چونکہ یہ صرف پڑھنے کے لیے ہے، یہ چیک کرنے کا ایک محفوظ طریقہ ہے کہ آیا ٹوکنز اور ہیڈرز کی اجازت ہے۔

// GET /individuals/business/details/{nino}/list  (Business Details API v2.0)
const businesses = await request(
  'GET',
  `/individuals/business/details/${nino}/list`,
  accessToken,
  req,
  null,
  '2.0',
);

ایک بار واپس آنے کے بعد، قدرتی اگلی کال لازمی ہوتی ہے، جیسے کہ کب اور کب سہ ماہی اپ ڈیٹس واجب الادا ہیں۔ یہ تازہ ترین API ورژن میں ہے جو مسئلہ کے لیے ایک مکمل رہنما ہے۔

// GET /obligations/details/{nino}/income-and-expenditure  (Obligations API v3.0)
const obligations = await request(
  'GET',
  `/obligations/details/${nino}/income-and-expenditure`,
  accessToken,
  req,
  null,
  '3.0',
);

سینڈ باکس میں اس کی جانچ کرنے کے لیے، HMRC کے "Create Test User” API کا استعمال کرتے ہوئے، OAuth فلو کے دوران لاگ ان کرنے کے لیے NINO اور گورنمنٹ گیٹ وے کی اسناد کو پاس کرتے ہوئے ایک جعلی ٹیکس دہندہ بنائیں۔

عام مسائل جو آپ کی دوپہر کو ضائع کرتے ہیں۔

کئی پھندے لگ بھگ سب کو پہلے پکڑ لیتے ہیں۔

1. API ورژن درست کریں یا 406 حاصل کریں۔

مختلف HMRC APIs مختلف ورژن میں دستیاب ہیں۔ کاروبار کی تفصیلات آن ہیں۔ 2.0ڈیوٹی 3.0کمپیوٹ API کو مستقبل کے ورژن میں دوبارہ استعمال کریں۔ ورژن یہاں موجود ہے: Accept ہیڈر (application/vnd.hmrc.3.0+json)۔ اگر آپ غلط ورژن بھیجتے ہیں یا ہیڈر بھول جاتے ہیں، تو HMRC جواب دے گا۔ 406 Not Acceptable. اگر کال عجیب طور پر ناکام ہوجاتی ہے تو پہلے ورژن چیک کریں۔

2. state ٹوکن ڈسپوزایبل ہیں۔

براہ کرم توثیق کریں اور پھر کچھ اور کرنے سے پہلے اسے فوری طور پر حذف کریں۔ اگر چیک نہ کیا گیا تو CSRF تحفظ کمزور ہو جائے گا۔ پرانے بھی ختم۔

3. اسے مت بھیجیں۔ Content-Type: application/json جسم کے بغیر GET سے۔

یہ واقعی حیرت انگیز ہے۔ HMRC کا Edge (CloudFront) JSON پاس کرنے والے GETs کو مسترد کرتا ہے۔ Content-Type جسم کے بغیر 403 Bad requestآپ تمام پڑھنے والے اختتامی نکات کو ایک ساتھ روک سکتے ہیں۔ بس سیٹ اپ Content-Type اگر آپ کے پاس اوپر کے ٹکڑوں کی طرح بھیجنے کے لیے اصل باڈی ہے۔

4. اپنی ایپ میں ہر API کو سبسکرائب کریں۔

جیسا کہ مرحلہ 1 میں بتایا گیا ہے، ان سبسکرائب شدہ API واپس کرتا ہے: 403یہ توثیق کے مسئلے کی طرح لگتا ہے، لیکن ایسا نہیں ہے۔

5. ری ڈائریکٹ URIs بالکل مماثل ہونا چاہیے۔

ٹریلنگ سلیش یا http ~ کے لیے https عدم مماثلت کے نتیجے میں رضامندی کی اسکرین پر ایک مبہم خرابی پیدا ہوتی ہے۔ اسے کاپی کریں۔ براہ کرم دوبارہ داخل نہ کریں۔

آگے کہاں جانا ہے۔

یہ کلید ہے۔ سینڈ باکس ایپ کو رجسٹر کریں اور سبسکرائب کریں، ٹوکن حاصل کرنے کے لیے OAuth تصدیقی کوڈ فلو کو چلائیں، اینٹی فراڈ ہیڈر منسلک کریں، اور ایک ورژن والی JSON کال کریں۔

یہاں سے باقی ایم ٹی ڈی کافی حد تک ایک جیسا ہے۔ اپنے سہ ماہی مجموعی اعداد و شمار جمع کروائیں، اپنے ٹیکس کا حساب لگانا شروع کریں، اپنے نتائج پڑھیں، اور اپنا حتمی ریٹرن فائل کریں۔ ہر ایک ایک اور اختتامی نقطہ ہے جس سے آپ پہلے ہی گزر چکے ہیں۔

سب سے مہربان چیز جو میں شروعات کرنے والوں سے کہہ سکتا ہوں وہ ہے HMRC کے اپنے ٹولز پر انحصار کرنا: سینڈ باکس، ٹیسٹ صارف اور خاص طور پر فراڈ ہیڈر تصدیق کنندہ۔ ایک بار جب آپ ہر ایک کو صاف ستھرا نتیجہ کی طرف رہنمائی کر لیتے ہیں، تو انضمام ایک ریگولیٹری بھولبلییا کی طرح محسوس کرنا بند کر دیتا ہے اور ایک باقاعدہ REST API کی طرح برتاؤ کرنا شروع کر دیتا ہے، چاہے آپ غیر معمولی طور پر محتاط ہوں۔

میں TapTax پر کام کر رہا ہوں، جو کہ برطانیہ کے واحد تاجروں کے لیے ایک میکنگ ٹیکس ڈیجیٹل ایپ ہے، جہاں سے مجھے اوپر کی تفصیلات ملی ہیں۔

مصنف کے بارے میں: Solomon Amos TapTax کے بانی ہیں اور انہوں نے HMRC میکنگ ٹیکس ڈیجیٹل انٹیگریشن بنایا ہے۔ انہوں نے گزشتہ تین سالوں سے HMRC کے ڈیجیٹل ماڈرنائزیشن پروگرام کے چیف ٹیکنیکل آرکیٹیکٹ کے طور پر کام کیا ہے اور مشین لرننگ میں تحقیق کے ساتھ انجینئرنگ میں پی ایچ ڈی کی ڈگری حاصل کی ہے۔ آپ اسے ڈھونڈ سکتے ہیں۔ لنکڈ.

اوپر تک سکرول کریں۔