فهرست مطالب
در قسمت قبل پایگاه داده را ساختیم و تنظیمات اولیه شرکت را انجام دادیم. قدم بعدی، دادههای پایه است: مخاطبان (مشتریان، تأمینکنندگان و همکارانشان) و محصولات (کالاها و خدمات). تقریباً هر سندی در Odoo، از پیشفاکتور تا حواله انبار و فاکتور، به یک مخاطب و یک یا چند محصول وصل است.
اگر این دو درست تعریف شوند، بقیه اپها بیدردسر کار میکنند. اگر تکراری، ناقص یا با نوع اشتباه تعریف شوند، گزارشها دو تکه میشوند و موجودی و حسابها به هم میریزند. در این قسمت یاد میگیریم هر کدام را چطور درست تعریف کنیم و چطور فهرستهای موجود را یکجا از Excel وارد کنیم.
- در Odoo مشتری و تأمینکننده فهرست جدا ندارند؛ هر دو یک مخاطب هستند و یک شرکت میتواند هم مشتری باشد هم تأمینکننده.
- مخاطبان را به شکل شرکت + افراد زیرمجموعه بسازید و آدرس فاکتور و تحویل را جدا تعریف کنید.
- نوع محصول مهمترین فیلد فرم محصول است و رفتار انبار و فاکتور را تعیین میکند؛ قبل از اولین سند درستش کنید.
- برای ورود فهرستهای بزرگ، از ابزار Import با قالب آماده Odoo استفاده کنید و همیشه اول روی پایگاه داده تست امتحان کنید.
مخاطبان: یک فهرست برای همه
در اپ Contacts (مخاطبین) هر شخص یا سازمانی که با او کار دارید یک رکورد دارد؛ مشتری، تأمینکننده، پیمانکار یا حتی بانک. Odoo از روی اسنادی که برای هر مخاطب ثبت میشود خودش میفهمد او مشتری است یا تأمینکننده؛ لازم نیست جایی تیک بزنید.
شرکت یا شخص؟
بالای فرم مخاطب دو گزینه هست: Individual (شخص) و Company (شرکت). برای سازمانها، شرکت را بسازید و افرادی را که با آنها در تماس هستید زیر همان شرکت اضافه کنید:

- در Contacts روی New بزنید و گزینه Company را انتخاب کنید.
- نام رسمی، Tax ID (شناسه ملی یا شماره اقتصادی)، آدرس، تلفن و ایمیل شرکت را وارد کنید.
- در تب Contacts & Addresses (مخاطبان و آدرسها) روی Add بزنید و افراد را با سمتشان اضافه کنید.
- اگر فاکتور یا کالا باید به آدرس دیگری برود، در همان تب یک مخاطب از نوع Invoice Address (آدرس فاکتور) یا Delivery Address (آدرس تحویل) بسازید.
وقتی پیشفاکتور را برای «خانم احمدی از شرکت الف» صادر میکنید، Odoo خودکار فاکتور را به نام شرکت الف و به آدرس فاکتور آن ثبت میکند و بدهی را روی حساب شرکت میبرد. اگر خانم احمدی جدا و بدون شرکت تعریف شده باشد، حساب مشتری دو تکه میشود.
فیلدهایی که ارزش پر کردن دارند
| فیلد | کجاست | چرا مهم است |
|---|---|---|
| Tax ID | بالای فرم | روی فاکتورها چاپ میشود و برای گزارشهای مالیاتی لازم است |
| Tags (برچسبها) | بالای فرم | دستهبندی آزاد؛ مثل «عمدهفروش» یا «تهران» برای فیلتر و گزارش |
| Salesperson (فروشنده) | تب Sales & Purchase | سفارشهای جدید این مشتری خودکار به همین فروشنده میرسد |
| Payment Terms (شرایط پرداخت) | تب Sales & Purchase | مهلت پرداخت پیشفرض فاکتورهای این مخاطب |
| Pricelist (لیست قیمت) | تب Sales & Purchase | اگر لیست قیمت فعال باشد، قیمت مخصوص این مشتری خودکار اعمال میشود |
جلوگیری از مخاطب تکراری
مخاطب تکراری رایجترین مشکل داده در هر ERP است. یک مشتری با دو رکورد، یعنی دو حساب بدهی، دو تاریخچه و گزارش فروش نادرست.
- قبل از ساخت مخاطب جدید، نام، تلفن یا شناسه ملی را در جستجو امتحان کنید.
- نام شرکتها را یکدست بنویسید؛ مثلاً همیشه «شرکت» در ابتدای نام بیاید یا هیچوقت نیاید.
- اگر تکراری پیدا کردید، در فهرست مخاطبان رکوردها را انتخاب کنید و از منوی Actions گزینه Merge (ادغام) را بزنید. اسناد هر دو رکورد روی رکورد باقیمانده جمع میشود.
محصولات: نوع درست، از روز اول
محصولات در اپهای فروش، خرید و انبار در دسترساند و همه همان رکورد را میبینند. مسیر: Sales › Products › Products یا Inventory › Products › Products ← New.
نوع محصول
مهمترین تصمیم در فرم محصول، فیلد Product Type (نوع محصول) است:
| کالا با پیگیری موجودی | کالا بدون پیگیری موجودی | خدمت | ترکیبی (Combo) | |
|---|---|---|---|---|
| تنظیم در فرم | نوع Goods، با تیک Track Inventory | نوع Goods، بدون تیک | نوع Service | نوع Combo |
| موجودی انبار | دارد | —ندارد | —ندارد | —ندارد |
| حواله ورود و خروج | دارد | دارد | —ندارد | —ندارد |
| مثال | لپتاپ، قطعه یدکی، مواد اولیه | لوازم مصرفی دفتر، بستهبندی | نصب، مشاوره، اشتراک | منوی رستوران، بسته چند کالایی |
این نامها مربوط به Odoo 18 و نسخههای بعد از آن است. در Odoo 17 و قبلتر، همین سه حالت اصلی با نامهای Storable Product (کالای انباری)، Consumable (مصرفی) و Service (خدمت) دیده میشوند.
اگر Track Inventory را بزنید، میتوانید روش پیگیری را هم انتخاب کنید: فقط تعداد، با شماره بچ (Lot) برای کالاهایی مثل دارو و مواد غذایی، یا با شماره سریال برای کالاهایی که هر عدد شناسه یکتا دارد، مثل لوازم الکترونیکی. شماره بچ و سریال باید در تنظیمات اپ Inventory فعال شده باشد.
تغییر نوع یا روش پیگیری کالایی که حواله و موجودی دارد، گزارشهای انبار و ارزش موجودی را به هم میریزد. اگر واقعاً لازم شد، با مشاور یا حسابدارتان هماهنگ کنید و معمولاً بهتر است کالای جدید بسازید.
بقیه فیلدهای مهم
محصول با ویژگیهای مختلف (Variants)
اگر یک کالا در رنگها یا اندازههای مختلف عرضه میشود، لازم نیست برای هر حالت محصول جدا بسازید. در تنظیمات اپ Sales گزینه Variants را فعال کنید، سپس در تب Attributes & Variants فرم محصول، ویژگیها (مثلاً رنگ: قرمز، آبی) را اضافه کنید. Odoo برای هر ترکیب یک گونه با کد، بارکد و موجودی جدا میسازد، در حالی که همه زیر یک محصول دیده میشوند.
ورود یکجا از Excel
اگر صدها مشتری یا کالا دارید، وارد کردن دستی معقول نیست. ابزار Import (ورود رکوردها) در Odoo فهرستها را از فایل Excel یا CSV وارد میکند:

قالب را دانلود کنید
در فهرست مخاطبان یا محصولات، از منوی چرخدنده (⚙) کنار عنوان صفحه، Import records را بزنید و Import Template را دانلود کنید. ستونهای این فایل دقیقاً همان نامهایی هستند که Odoo میشناسد.
دادهها را آماده کنید
اطلاعاتتان را در همان قالب بگذارید. هر ردیف یک رکورد است. تکراریها را حذف کنید و ستونهای عددی را واقعاً عددی نگه دارید.
فایل را بارگذاری کنید
در همان صفحه Import فایل را انتخاب کنید. Odoo ستونها را نشان میدهد و برای هر ستون یک فیلد پیشنهاد میکند؛ پیشنهادها را بررسی کنید.
تست کنید
دکمه Test فایل را بدون ذخیره بررسی میکند و خطاها را با شماره ردیف نشان میدهد. تا وقتی خطا هست، اصلاح کنید و دوباره تست کنید.
وارد کنید
وقتی تست بدون خطا بود، Import را بزنید. چند رکورد را باز کنید و با فایل مقایسه کنید.
برای فیلدهایی مثل دسته محصول، کشور یا شرکت والد یک مخاطب، کافی است در ستون همان نامی را بنویسید که در Odoo دیده میشود؛ مثلاً All / Saleable یا نام دقیق شرکت. Odoo آن را پیدا و وصل میکند. اگر نامی پیدا نشود، در مرحله Test خطا میگیرد.
ترتیب درست ورود
بعضی رکوردها به رکوردهای دیگر وابستهاند؛ پس ترتیب مهم است:
- دستههای محصول و برچسبها: اول اینها را بسازید تا محصولات و مخاطبان بتوانند به آنها وصل شوند.
- شرکتها: مخاطبان از نوع Company.
- افراد: مخاطبان شخص، با ستون شرکت والد که به نام شرکت اشاره میکند.
- محصولات: با دسته، واحد و نوع درست.
- موجودی اولیه: آخر از همه، و فقط بعد از اینکه محصولات درست وارد شدند. موجودی و ماندههای افتتاحیه را طبق برنامه انتقال داده پروژه و در تاریخ شروع ثبت کنید.
بهروزرسانی اطلاعات موجود با Excel
برای اصلاح دستهجمعی، مثلاً قیمت صدها کالا، لازم نیست رکورد جدید بسازید:
- رکوردها را در فهرست انتخاب کنید و از Actions گزینه Export را بزنید.
- تیک I want to update data (import-compatible export) را بزنید و فیلدهای موردنیاز را انتخاب کنید. ستون ID (شناسه خارجی) خودکار به فایل اضافه میشود.
- فایل را در Excel اصلاح کنید. ستون ID را تغییر ندهید.
- فایل را با Import دوباره وارد کنید. Odoo از روی ستون ID، همان رکوردها را بهروز میکند و رکورد تازه نمیسازد.
ورود اشتباه صدها رکورد، پاک کردنش هم به همان اندازه کار دارد. هر ورود بزرگ را اول روی کپی پایگاه داده امتحان کنید، و روی پایگاه داده اصلی هم قبلش پشتیبان بگیرید.
اشتباههای رایج
- ساخت مشتری تکراری در هر سفارش: بهجای جستجو، هر بار مخاطب جدید ساخته میشود.
- تعریف کالای انباری به شکل خدمت یا برعکس: موجودی ثبت نمیشود، یا خدمت در حوالههای انبار ظاهر میشود.
- کد داخلی تکراری یا بدون الگو: جستجو و ورود اطلاعات بعدی را سخت میکند.
- قیمت و مالیات خالی: خطهای سفارش با قیمت صفر یا بدون مالیات ساخته میشوند.
- ورود موجودی قبل از نهایی شدن محصولات: اگر بعد معلوم شود نوع یا واحد کالایی اشتباه بوده، اصلاح سخت میشود.
جمعبندی
مخاطبان و محصولات پایه همه اسناد Odoo هستند. مخاطب را یک بار و به شکل شرکت با افراد و آدرسهای زیرمجموعه بسازید، نوع هر محصول را قبل از اولین سند درست انتخاب کنید و فهرستهای بزرگ را با قالب Import و بعد از تست وارد کنید. با این پایه، فروش، خرید، انبار و حسابداری از اول روی دادهای تمیز و قابل اعتماد کار میکنند.
در قسمت بعدی مسیر «از صفر تا Odoo»، با همین مخاطبان و محصولات اولین چرخه فروش را کامل اجرا میکنیم: از پیشفاکتور تا تحویل کالا و فاکتور.
پرسشهای متداول
یک شرکت هم مشتری ماست هم تأمینکننده؛ دو بار تعریفش کنیم؟
نه. یک مخاطب کافی است. همان رکورد هم در سفارش فروش و هم در سفارش خرید انتخاب میشود و Odoo حسابهای دریافتنی و پرداختنیاش را جدا نگه میدارد.
فایل CSV با حروف فارسی بههمریخته وارد میشود؛ چه کنم؟
فایل را با کدگذاری UTF-8 ذخیره کنید یا مستقیم از فایل Excel (xlsx) استفاده کنید. در صفحه Import هم میشود کدگذاری فایل CSV را انتخاب کرد.
میشود محصولات را با تصویرشان وارد کرد؟
ابزار Import متن و عدد را از فایل وارد میکند و برای تصویر معمولاً بهتر است تصاویر را بعد از ورود، در فرم هر محصول اضافه کنید. برای تعداد بسیار زیاد، راههای فنی مثل ماژول یا اسکریپت لازم است.
محصولی که دیگر فروخته نمیشود را حذف کنم؟
محصولی که در اسناد استفاده شده را حذف نکنید؛ بایگانی کنید (Archive). از فهرستها و انتخابها کنار میرود، اما تاریخچه و گزارشهای قبلی سالم میمانند. مخاطبان هم همینطور.
قیمت فروش متفاوت برای مشتریان مختلف را کجا تعریف کنم؟
در تنظیمات اپ Sales گزینه Pricelists (لیستهای قیمت) را فعال کنید، لیست قیمت بسازید و آن را در تب Sales & Purchase هر مشتری انتخاب کنید.