یک بار در فروشگاهی که تازه راه افتاده بود، یک مشتری بعد از سه هفته تماس گرفت و پرسید سفارش من کجاست؟ وقتی فایل سفارش‌ها را باز کردم، دیدم سفارش او در وضعیت Pending stuck مانده و هیچ ایمیلی هم ارسال نشده. آن روز فهمیدم order management در ووکامرس یک جدول ساده نیست؛ یک چرخه کاری است که باید از روز اول روی کاغذ بیاید. اگر تازه با ووکامرس آشنا می‌شوید، راهنمای ساخت فروشگاه با ووکامرس نقطه شروع خوبی است.

چرخه عمر یک سفارش در ووکامرس

ووکامرس یک چرخه منظم برای هر سفارش تعریف می‌کند که از لحظه ثبت تا تسویه نهایی طول می‌کشد. آگاهی از این چرخه، پایه مدیریت حرفه‌ای است. چرخه به این شکل است: سفارش ثبت می‌شود، پرداخت پردازش می‌شود، موجودی کسر می‌شود، ایمیل اعلان ارسال می‌شود، سپس مدیر فروشگاه سفارش را به processing می‌برد. بعد از آماده‌سازی و ارسال، وضعیت به completed می‌رود. اگر پرداخت ناموفق باشد، on hold یا failed ثبت می‌شود. اگر مشتری انصراف بدهد، cancelled می‌شود. و اگر بازگشت وجه رخ بدهد، refunded.

این چرخه در ظاهر ساده است اما ریزه‌کاری‌هایی دارد که در فروشگاه‌های بزرگ تفاوت می‌سازد. مثلاً هنگام انتقال از on hold به processing، آیا ایمیل مشتری باید ارسال شود یا نه؟ پیش‌فرض بله است، اما در فروشگاه‌هایی که سفارش‌های B2B دارند، ارسال خودکار ایمیل ممکن است مزاحم باشد. تصمیم درست، تصمیم کسب‌وکار است نه فنی.

سفارش، فقط یک ردیف در دیتابیس نیست؛ یک قول به مشتری است. هرچه این قول دقیق‌تر مدیریت شود، بازگشت مشتری بیشتر است.

وضعیت‌های سفارش و رفتار درست هرکدام

ووکامرس هشت وضعیت اصلی دارد. هرکدام رفتار متفاوتی در محاسبه موجودی، ارسال ایمیل و نمایش به مشتری دارند:

وضعیتمعنانکته عملی
pending paymentسفارش ثبت شده اما پرداخت تایید نشدهزمان رزرو موجودی را محدود کنید
on holdپرداخت معلق است، منتظر تاییدبرای پرداخت‌های دستی و انتقال بانکی
processingپرداخت تایید شد، در حال آماده‌سازیایمیل به مشتری ارسال می‌شود
completedسفارش ارسال و تکمیل شدوضعیت پایانی موفق
cancelledسفارش لغو شدموجودی باید برگردد
refundedبازگشت وجه انجام شدگزارش مالی را دوباره بررسی کنید
failedپرداخت ناموفقایمیل اطلاع‌رسانی جدا لازم است
draftسفارش ذخیره‌شده اما ثبت‌نشدهمعمولاً برای سفارش‌های دستی مدیر

در فروشگاه‌های واقعی، وضعیت on hold بیشتر از آنچه فکر می‌کنید ظاهر می‌شود. هر پرداخت بانکی که به صورت دستی تایید می‌شود، به این وضعیت می‌رود. اگر مدیر انبار این وضعیت را به processing نبرد، موجودی سرگردان می‌ماند و مشتری در انتظار. یک قاعده‌ای که در پروژه‌ها به کارم آمده: هر روز صبح، فهرست سفارش‌های on hold را چک کنید و هر چه قدیمی‌تر از بیست‌وچهار ساعت است را حتماً تعیین تکلیف کنید.

پردازش روزانه سفارش‌ها: گام‌به‌گام

فروشگاه‌های موفق، یک روال روزانه برای پردازش سفارش دارند. روالی که در بسیاری از پروژه‌ها توصیه کرده‌ام این است:

  1. صبح: سفارش‌های pending و on hold را بررسی کنید. سفارش‌های منقضی را لغو کنید.
  2. صبح: سفارش‌های processing را به انبار ارسال کنید و بسته‌بندی را شروع کنید.
  3. وسط روز: وضعیت سفارش‌های ارسال‌شده را به completed ببرید و کد رهگیری را ثبت کنید.
  4. عصر: سفارش‌های failed را بررسی کنید و در صورت لزوم به مشتری ایمیل بزنید.
  5. پایان روز: یک گزارش کوتاه از فروش روزانه تهیه کنید.

این روال ساده در فروشگاهی که روزی سی سفارش دارد کافی است. برای فروشگاهی با روزی هزار سفارش، باید به افزونه‌های مدیریت سفارش و اتوماسیون تکیه کنید. برای انتخاب، فهرست بهترین افزونه‌های کاربردی ووکامرس را ببینید.

چاپ برچسب ارسال، یکی از کارهای روزمره است که اگر خودکار شود، ساعات زیادی را نجات می‌دهد. افزونه‌های مخصوص این کار، مستقیم از صفحه سفارش، PDF برچسب تولید می‌کنند. اگر فروشگاه شما حجم بالایی دارد، این سرمایه‌گذاری در هفته اول جواب می‌دهد. تنظیمات ارسال را در تنظیم روش‌های ارسال در ووکامرس بخوانید.

بازگشت وجه و مدیریت مرجوعی

بازگشت وجه در ووکامرس از داخل صفحه سفارش انجام می‌شود، نه از درگاه پرداخت. یعنی اگر بدون ثبت در ووکامرس، از پنل بانک پول را برگردانید، گزارش‌های فروشگاه ناهماهنگ می‌شوند. همیشه refund را از صفحه سفارش ثبت کنید. حتی اگر کل مبلغ را برمی‌گردانید، وضعیت سفارش به refunded تغییر می‌کند و گزارش فروش دقیق می‌ماند.

یک نکته ظریف در فروشگاه‌های ایرانی: بعضی درگاه‌های پرداخت داخلی، API بازگشت وجه را متفاوت پیاده کرده‌اند. قبل از هر بازگشت وجه گسترده، حتماً یک سفارش آزمایشی کوچک را تست کنید. اگر خطایی رخ داد، فهرست خطاهای رایج ووکامرس نقطه شروع خوبی است. برای درگاه‌های پرداخت و نحوه اتصالشان، اتصال ووکامرس به درگاه‌های پرداخت را ببینید.

بازگشت وجه بدون ثبت در ووکامرس، شبیه پاک کردن ردپا با جاروی برعکس است؛ همه چیز به ظاهر تمیز می‌شود و در دفتر، همه چیز به هم می‌ریزد.

اعلان به مشتری و نقش ایمیل

ووکامرس به ازای هر تغییر وضعیت، یک ایمیل مشخص ارسال می‌کند. برای پروژه‌های واقعی، تنظیم این ایمیل‌ها اهمیت زیادی دارد. حداقل پنج ایمیل ضروری است: ثبت سفارش، تایید پرداخت، ارسال سفارش با کد رهگیری، تکمیل سفارش و لغو سفارش. اگر فروشگاهی این پنج ایمیل را درست تنظیم نکرده باشد، مشتری مرتب تماس می‌گیرد که سفارش من چه شد؟

یک نکته عملی که در چند پروژه به دادم رسید: ایمیل‌های ووکامرس توسط تابع wp_mail ارسال می‌شوند که به SMTP پیش‌فرض هاست تکیه می‌کند. در بسیاری از هاست‌های اشتراکی، این ایمیل‌ها به پوشه spam می‌روند. راه‌حل، تنظیم یک افزونه SMTP معتبر است. اگر با خطای ارسال ایمیل مواجه شدید، رفع خطای ارسال سفارش در ووکامرس را بخوانید.

برای فروشگاه‌های بزرگ، ارسال پیامک هم بخشی از چرخه اعلان است. در ایران، سرویس‌های پیامکی متعددی وجود دارد که APIشان با ووکامرس جفت می‌شود. اما پیش از هر تصمیم، به این سوال جواب بدهید: آیا مشتری شما واقعاً پیامک را می‌خواند؟ در بعضی دسته‌ها بله، در بعضی دیگر فقط ایمیل کافی است.

خطاهای تکرارشونده در مدیریت سفارش

چند خطای رایج که در پروژه‌های مختلف دیده‌ام:

  • رها کردن سفارش‌های on hold: بیشترین حجم اختلاف با مشتری از اینجاست.
  • ویرایش دستی شماره سفارش: ساختار ID ووکامرس را به هم می‌ریزد و در گزارش‌گیری مشکل‌ساز می‌شود.
  • حذف سفارش به جای لغو: گزارش مالی ناقص می‌شود و ردیابی از دست می‌رود.
  • ارسال ایمیل دستی از پنل ایمیل: تاریخچه سفارش در ووکامرس ثبت نمی‌شود و قابل پیگیری نیست.
  • عدم ثبت کد رهگیری در سفارش: مشتری نمی‌تواند مرسوله را پیگیری کند و به پشتیبانی فشار می‌آورد.

اگر بعد از تغییر وضعیت سفارش، ایمیل به مشتری نمی‌رود، اول صف ایمیل ووکامرس را چک کنید. دوم، افزونه SMTP را بررسی کنید. سوم، در تنظیمات ایمیل ووکامرس ببینید آن ایمیل به صورت جداگانه غیرفعال نشده باشد.

پرسش‌های پرتکرار درباره سفارش‌های ووکامرس

تفاوت pending payment و on hold چیست؟ اولی یعنی پرداخت هنوز شروع نشده یا نیمه‌کاره مانده؛ دومی یعنی پرداخت شروع شده اما نیازمند تایید است، مثل انتقال بانکی.

چگونه می‌توانم چند سفارش را همزمان تغییر وضعیت دهم؟ در فهرست سفارش‌ها، چند سفارش را انتخاب و از منوی Bulk actions وضعیت جدید را اعمال کنید. برای سفارش‌های زیاد، این روش از ویرایش تکی سریع‌تر است.

آیا می‌توانم وضعیت سفارش‌ها را به صورت خودکار تغییر دهم؟ بله، با افزونه‌های اتوماسیون یا با نوشتن یک اسنیپت که به هوک woocommerce_order_status_changed وصل شود. این روش در فروشگاه‌های پرمعامله صرفه‌جویی خوبی دارد.

چگونه برای مشتری فاکتور رسمی بسازم؟ ووکامرس به صورت پیش‌فرض فاکتور PDF تولید نمی‌کند. افزونه‌های فاکتور فارسی موجود هستند که هم فاکتور رسمی دارند هم فاکتور ساده.

آیا می‌توانم سفارش را بعد از completed ویرایش کنم؟ از نظر فنی بله، اما در فروشگاه‌های واقعی این کار را نمی‌کنند چون تاریخچه سفارش را آلوده می‌کند. اگر نیاز به تغییر هست، یک یادداشت خصوصی روی سفارش بگذارید.

برای فروشگاه‌هایی که با کوپن تخفیف کار می‌کنند، ترتیب اعمال تخفیف روی سفارش از اهمیت بالایی برخوردار است. اگر این بخش را جدی می‌گیرید، تخفیف و کد تخفیف در ووکامرس را بخوانید. همچنین برای مدیریت بهتر مشتریان تکراری، مدیریت مشتریان در ووکامرس را ببینید. و در پایان هر ماه، از بکاپ فروشگاه ووکامرس غافل نشوید.

آنچه از فروشگاه‌های واقعی یاد گرفتم

سه چیز بعد از سال‌ها کار با فروشگاه‌های مختلف در ذهنم جا افتاده. اول، هر وضعیت سفارش باید یک مسئول داشته باشد. دوم، هر تغییر وضعیت باید یک دلیل داشته باشد و در یادداشت سفارش ثبت شود. سوم، هیچ سفارشی نباید بیشتر از یک روز در وضعیت نامشخص بماند. اگر فروشگاهتان به رشد پایدار فکر می‌کند، این سه قاعده را از روز اول در تیم جا بیندازید. برای بهینه‌سازی سرعت پنل سفارش‌ها در فروشگاه‌های پرحجم، افزایش سرعت فروشگاه ووکامرس را ببینید.

اگر تجربه‌ای از یک سفارش که در وضعیت نامناسب گم شد دارید، یا روش خاصی برای پردازش روزانه سفارش‌هایتان دارید، در دیدگاه بنویسید. برای من جالب است بدانم کدام بخش از چرخه سفارش بیشترین زمان تیم شما را می‌گیرد. 📋