এই ভলিউমে · ভলিউম 11
ডেটা ইম্পোর্ট
মাস্টার ইনপুট ক্যাটালগ BSP / ARC ইম্পোর্ট

অধ্যায় ১১.১ — মাস্টার ইনপুট ক্যাটালগ

১. উদ্দেশ্য

সকল ইম্পোর্টেবল ফাইল প্রকার এবং তাদের স্কিমা — যা travoBooks বাইরের জগৎ থেকে ingest করে।

২. ফাইল প্রকার

প্রকার উৎস ফর্ম্যাট ফ্রিকোয়েন্সি
BSP HOT IATA BSP Fixed-width text Weekly/bi-weekly
ARC report ARC CSV/Fixed Weekly
ব্যাঙ্ক স্টেটমেন্ট ব্যাঙ্ক CSV/MT940/CAMT.053 Daily
Gateway settlement Stripe/etc CSV/JSON via API Daily
Supplier statement Hotel/Insurance PDF/CSV/Excel Monthly
Airport/City codes IATA CSV update Quarterly
Exchange rates BB/Reuters CSV/API Daily
Customer import পার্টনার CSV/Excel Ad-hoc
Supplier import পার্টনার CSV/Excel Ad-hoc
Chart of Accounts পার্টনার CSV Setup-time

৩. ইম্পোর্ট প্রবাহ

১. ফাইল আপলোড (UI বা API বা SFTP)
২. SHA-256 hash কম্পিউট
৩. Dedupe চেক (একই ফাইল ইতিমধ্যে ইম্পোর্ট?)
৪. Format detection (অ্যাট্রিবিউট থেকে)
৫. Staging table-এ load (validation queue)
৬. Per-row validation (schema, business rules)
৭. পার্টনার অনুমোদন (ঐচ্ছিক)
৮. Production tables-এ commit
৯. JE পোস্ট (যেখানে প্রযোজ্য)
১০. Result report

৪. Staging tables

প্রতিটি ইম্পোর্ট প্রকারের আলাদা staging table: - stg_bsp_lines - stg_bank_transactions - stg_customer_import - ইত্যাদি

Staging row স্ট্যাটাস: PENDING, VALID, INVALID, COMMITTED, QUARANTINED

৫. Validation

দুই স্তর:

Schema validation: - প্রয়োজনীয় কলাম উপস্থিত - ডেটা টাইপ মিল - Format (ISO currency, IATA airport)

Business validation: - পার্টনার-নির্দিষ্ট নিয়ম - Referential integrity (referenced entity exists) - Duplicate detection - Sanity check (negative amount, future date, etc.)

৬. Quarantine

Invalid rows quarantine table-এ — operator-এর জন্য রিভিউ: - Fix at source → re-import - Manual correction → commit - Skip → mark REJECTED

৭. SFTP ইম্পোর্ট

স্বয়ংক্রিয় cron-based: - পার্টনার নির্দিষ্ট SFTP folder-এ ফাইল drop - travoBooks প্রতি 15 মিনিট poll - নতুন ফাইল detect → ingest pipeline - result notification ইমেইল

৮. ম্যানুয়াল ইম্পোর্ট (UI)

ব্যবহারকারী এক ফাইল drag-drop → preview → confirm import। ছোট partner-এর জন্য।

৯. ইম্পোর্ট ইতিহাস

import_runs টেবিল: - file hash - timestamp - importer (user/system) - rows: total, valid, invalid, committed - result: SUCCESS, PARTIAL, FAILED - error report (CSV)

১০. সাধারণ ফাঁদ

  • ⚠️ Duplicate file import — dedupe ছাড়া double-count
  • ⚠️ Skip validation — corrupt data production-এ
  • ⚠️ Quarantine অগ্রাহ্য — missing data accumulate
  • ⚠️ Encoding issue (UTF-8 না) — Bangla/Arabic চরিত্র mojibake