أولاً: ما هو IIF ؟ (تعريف عام)
Intuit Interchange Format (IIF)
هو تنسيق ملفات خاص ببرنامج QuickBooks يُستخدم لاستيراد:
القيود المحاسبية (Transactions) القوائم (Lists) مثل: الحسابات، العملاء، الموردين، الأصناف
⚠️ مهم جداً
تنسيق IIF صارم جداً:
أي خطأ في: الكتابة التنسيق ترتيب الأعمدة أسماء الحقول يؤدي إلى فشل الاستيراد.
الملف عبارة عن:
Tab Delimited File (فاصل Tab وليس فاصلة) غالباً يتم إنشاؤه أو تعديله باستخدام Excel
ثانياً: تحذيرات أساسية قبل العمل بـ IIF
الملف يؤكد على النقاط التالية:
لا يوجد Undo بمجرد الاستيراد لا يمكن التراجع يجب أخذ نسخة احتياطية (Backup) قبل أي استيراد يمكن استيراد نفس الملف أكثر من مرة QuickBooks لا يمنع التكرار سيؤدي ذلك إلى تكرار القيود الملف يُستخدم كما هو (As-Is) Intuit لا تتحمل مسؤولية الأخطاء الناتجة عن الاستخدام
ثالثاً: طرق الاستيراد في QuickBooks
يوضح الدليل أن هناك 3 طرق للاستيراد:
1️⃣ IIF Import (موضوع هذا الدليل)
يستورد: Transactions Lists ❌ لا يستورد أرصدة القوائم يعتمد على ملفات نصية مفصولة بـ Tab
2️⃣ SDK (للمبرمجين)
يعتمد على XML تفاعلي وديناميكي مناسب للبرامج والأنظمة الكبيرة يتطلب خبرة برمجية
3️⃣ Excel / CSV
يستورد قوائم فقط لا يستورد قيود مختلف تماماً عن IIF رغم استخدام Excel
⚠️ لا تخلط بين:
Import from Excel Import from IIF
رابعاً: مكونات IIF Import Kit
الـ Kit يتكون من 3 أجزاء:
1️⃣ IIF Import Manual
هذا الملف يشرح: القواعد الصيغة التنسيق
2️⃣ IIF Header Help
ملفات مساعدة تشرح: أسماء الأعمدة الحقول الإلزامية الكلمات المحجوزة
3️⃣ IIF Example Files
ملفات أمثلة لكل إصدار QuickBooks مجلد خاص تحتوي: ملف قوائم (Accounts, Customers…) ملف قيود
⚠️ يجب استيراد ملف القوائم أولاً قبل القيود
خامساً: أفضل الممارسات (Best Practices)
1. استيراد القوائم أولاً
مثل:
Accounts Customers Vendors Items
2. إنشاء قيد واحد يدوياً قبل الاستيراد
لكل نوع قيد (Invoice, Bill, Check…) لضمان: تفعيل الإعدادات إنشاء الحسابات المطلوبة تلقائياً
3. استخدام التصدير كقالب
أنشئ عنصر كامل يدوياً ثم: File > Utilities > Export > Lists to IIF استخدمه كـ Template
سادساً: أنواع القيود التي لا يمكن استيرادها
❌ لا يمكن استيراد الأنواع التالية عبر IIF:
Payroll (رواتب) Paycheck Payroll Adjustments Inventory Adjustment Sales Order Assembly Builds Sales Tax Liability Payment
يجب إدخالها يدوياً من داخل QuickBooks
سابعاً: أخطاء شائعة وملاحظات مهمة
Bill Payment
لا تستخدم
BILLPMT
استخدم
CHECK
أرقام الشيكات
QuickBooks يتجاهل رقم الشيك في الملف ويعطي الرقم التالي تلقائياً
البحث عن القيود المستوردة
إذا لم يظهر القيد:
Edit > Find Advanced Entered/Modified = Today
ثامناً: الضرائب (Sales Tax)
:
يجب استخدام
VTYPE
لتعريف المورد كـ Sales Tax Vendor عدم الالتزام بذلك يؤدي إلى فشل الاستيراد
⚠️ بسبب قيود IIF:
يفضل إدخال قيود الضريبة يدوياً
تاسعاً: أسماء العملاء (Customer Names) – نقطة خطيرة
QuickBooks يعتبر:
“FIRST LAST” “LAST, FIRST”
نفس الاسم
النتائج:
لا يمكنك استخدام الصيغتين لنفس العميل يجب أن يكون الاسم في ملف IIF مطابق حرفياً لما هو موجود أي اختلاف يؤدي إلى الخطأ
Can’t change the type of a name or add a duplicate name
عاشراً: ملاحظات ختامية مهمة
لا يمكن ربط: Invoice مع Payment Bill مع Bill Payment الاستيراد يتم فقط من
File > Utilities > Import
لا يمكن الاستيراد بالنقر المزدوج على الملف
نقاط هامة (Summary)
IIF قوي لكن خطير مناسب للخبراء وليس للمبتدئين أي خطأ صغير = فشل الاستيراد الاختبار دائماً على
شركة تجريبية
ما هو شكل ملف IIF فعلياً؟
ملف IIF هو ملف نصي (Text File):
الفاصل بين الأعمدة = Tab كل سطر = Record لا توجد صيغ Excel داخل الملف النهائي
عند فتحه في Excel:
كل عمود يظهر في خلية لكن عند الحفظ يجب أن يكون Tab Delimited
ثانياً: القاعدة الأساسية لهيكل IIF
أي ملف IIF يتكون من 3 أنواع أسطر فقط
النوع
الوصف
Header
يحدد نوع البيانات وأسماء الأعمدة
Data Line
البيانات الفعلية
ENDTRANS
إنهاء وتجميع القيد
شرح الـ Headers (العناوين المحجوزة)
1️⃣ ما هو الـ Header؟
هو أول سطر لكل نوع بيانات
ويبدأ دائماً بالرمز
!
مثال:
!TRNS TRNSTYPE DATE ACCNT NAME AMOUNT
معنى هذا السطر:
هذا تعريف أعمدة خاص بقيود (Transactions) QuickBooks يقرأ الأعمدة حسب الترتيب فقط
2️⃣ أشهر أنواع الـ Headers
TRNS (Transaction Start)
القيد يبداء
!TRNS TRNSTYPE DATE ACCNT NAME AMOUNT
الشرح
TRNSTYPE
نوع القيد (INVOICE, CHECK, BILL…)
DATE
تاريخ القيد
ACCNT
الحساب الرئيسي
NAME
العميل / المورد
AMOUNT
إجمالي القيد
SPL (Split Line)
!SPL TRNSTYPE DATE ACCNT NAME AMOUNT
العمود
الشرح
ACCNT
حساب المصروف / الإيراد
AMOUNT
قيمة السطر
NAME
اختيارى
ENDTRANS
نهاية القيد
!ENDTRANS
ل
3️⃣ Headers القوائم (Lists)
مثال حسابات (Accounts)
!ACCNT NAME ACCNTTYPE
ACCNTTYPE
نوع الحساب (Bank, Expense…)
رابعاً: الهيكل الكامل لقيد IIF (سطر بسطر)
مثال عملي: قيد مصروف نقدي (CHECK)
1️⃣ Header
!TRNS TRNSTYPE DATE ACCNT NAME AMOUNT
!SPL TRNSTYPE DATE ACCNT NAME AMOUNT
!ENDTRANS
� هذا تعريف فقط – لا توجد بيانات بعد
2️⃣ بداية القيد (TRNS]
TRNS CHECK 01/01/2025 Cash Office Supplies -1000
الشرح
بداية القيد
CHECK
نوع القيد
01/01/2025
التاريخ
Cash
الحساب النقدي
Office Supplies
المستفيد
-1000
إجمالي المبلغ (سالب لأنه خروج
3️⃣ تفاصيل القيد (SPL
SPL CHECK 01/01/2025 Office Expenses Office Supplies 1000
جزء
معنى
SPL
سطر تفصيلي
Office Expenses
حساب المصروف
1000
قيمة المصروف
� مجموع SPL = عكس قيمة TRNS
4️⃣ إنهاء القيد
ENDTRANS
هنا فقط يتم تسجيل القيد
خامساً: مثال كامل جاهز (كما في الملف الحقيقي
!TRNS TRNSTYPE DATE ACCNT NAME AMOUNT
!SPL TRNSTYPE DATE ACCNT NAME AMOUNT
!ENDTRANS
TRNS CHECK 01/01/2025 Cash Vendor A -500
SPL CHECK 01/01/2025 Rent Expense Vendor A 500
ENDTRANS
سادساً: قواعد محاسبية مهمة جداً
1️⃣ الإشارات ( + / – )
خروج نقدي → سالب في TRNS دخول نقدي → موجب
2️⃣ التوازن
TRNS + مجموع SPL = 0
ترتيب الأسطر إجباري
TRNS SPL (واحد أو أكثر) ENDTRANS
سابعاً: أخطاء شائعة قاتلة
❌ استخدام فاصلة بدل Tab
❌ اختلاف اسم الحساب حرفياً
❌ نسيان ENDTRANS
❌ استخدام BILLPMT بدل CHECK
❌ عدم استيراد القوائم أولاً
أولاً: شرح IIF لكل نوع قيد
1️⃣ Invoice (فاتورة بيع)
الهدف المحاسبي
إثبات إيراد إنشاء ذمة مدينة على العميل (Accounts Receivable)
هيكل Invoice في IIF
Headers المطلوبة!TRNS TRNSTYPE DATE ACCNT NAME AMOUNT DOCNUM TERMS !SPL TRNSTYPE DATE ACCNT NAME AMOUNT CLASS !ENDTRANS
مثال Invoice كاملTRNS INVOICE 01/01/2025 Accounts Receivable Customer A 1000 INV-1001 Net 30 SPL INVOICE 01/01/2025 Sales Customer A -1000 Main ENDTRANS
الشرح سطر بسطر
TRNS
ACCNT = Accounts Receivable (إجباري) AMOUNT = إجمالي الفاتورة (موجب) DOCNUM = رقم الفاتورة TERMS = شروط السداد
SPL
Sales = حساب الإيراد AMOUNT = سالب (عكس TRNS) CLASS = اختياري (مراكز تكلفة)
2️⃣ Bill (فاتورة مورد)
الهدف المحاسبي
إثبات مصروف إنشاء ذمة دائنة (Accounts Payable)
هيكل Bill في IIF
Headers!TRNS TRNSTYPE DATE ACCNT NAME AMOUNT DOCNUM TERMS !SPL TRNSTYPE DATE ACCNT NAME AMOUNT !ENDTRANS
مثال Bill كاملTRNS BILL 01/01/2025 Accounts Payable Vendor A 500 BILL-2001 Net 30 SPL BILL 01/01/2025 Rent Expense Vendor A -500 ENDTRANS
ملاحظات مهمة
لا يمكن استيراد Bill Payment يتم السداد لاحقاً باستخدام CHECK
3️⃣ Journal Entry (قيد يومية)
الهدف
قيود تسوية قيود افتتاحية قيود محاسبية عامة
هيكل Journal Entry
Headers!TRNS TRNSTYPE DATE ACCNT AMOUNT MEMO !SPL TRNSTYPE DATE ACCNT AMOUNT MEMO !ENDTRANS
مثال Journal EntryTRNS JOURNAL 01/01/2025 Opening Balance Equity -10000 Opening Entry SPL JOURNAL 01/01/2025 Cash 10000 Opening Entry ENDTRANS
لا يوجد NAME (عميل/مورد) في Journal Entry غالباً
ثانياً: شرح Headers المتقدمة (بالتفصيل)
1️⃣ MEMO
وصف نصي يظهر في التقارير MEMO Monthly Rent January
اختياري لكنه مهم للتتبع
2️⃣ CLASS
مراكز تكلفة / فروع / مشاريع يجب تفعيل Class Tracking في QuickBooks CLASS Branch A
⚠️ إذا لم تكن مفعلة → الاستيراد يفشل
3️⃣ DOCNUM
رقم المستند فاتورة / شيك / قيد DOCNUM INV-1001
مفيد للربط الخارجي مع ERP
4️⃣ TERMS
شروط السداد يجب أن تكون موجودة مسبقاً في QuickBooks TERMS Net 30
ثالثاً: Template Excel جاهز (منطقي 100%)
Sheet: Invoice_IIF
A
B
C
D
E
F
G
H
TRNS
INVOICE
01/01/2025
Accounts Receivable
Customer A
1000
INV-1001
Net 30
SPL
INVOICE
01/01/2025
Sales
Customer A
-1000
Main
ENDTRANS
عند الحفظ:
Save As → Text (Tab Delimited)
Sheet: Bill_IIF
A
B
C
D
E
F
G
TRNS
BILL
01/01/2025
Accounts Payable
Vendor A
500
BILL-2001
SPL
BILL
01/01/2025
Rent Expense
Vendor A
-500
ENDTRANS
Sheet: Journal_IIF
A
B
C
D
E
F
TRNS
JOURNAL
01/01/2025
Opening Balance Equity
-10000
Opening
SPL
JOURNAL
01/01/2025
Cash
10000
Opening
ENDTRANS
رابعاً: مراجعة ملف IIF خاص بك
نعم، أستطيع مراجعته سطر بسطر، وسأقوم بـ:
اكتشاف أخطاء Headers التأكد من التوازن المحاسبي فحص الإشارات (+ / -) التأكد من توافق الحسابات والأسماء اقتراح تحسينات
تحميل ملفات امثلة iif
Download and install the .IIF import kit
https://support.quickbooks.intuit.com/support/pages/executable/iif/iif_import_kit.zip
The downloads are available in two versions–one that uses sales tax, and one that does not.
- Download iif1.zip – If you have the Sales tax preference ON
- Download iif2.zip – If you have the Sales tax preference OFF
