import datetime from django.db import migrations # سی مقاله‌ی تازه — جدا از هشت‌تای قبلی (چهارتای بازنویسی‌شده + چهارتای # جدیدِ فصل قبل). هرکدام حداقل یکی‌دو لینکِ داخلیِ واقعی و مرتبط، توی خودِ # متن (نه فقط بخشِ «مقالات مرتبط»ِ خودکارِ پایین صفحه) به مقاله‌های دیگر # دارد — هم قدیمی‌ها هم بین خودشان — تا یک وبِ لینکِ داخلیِ واقعی شکل بگیرد # (دقیقا همان چیزی که خواسته شده بود: «مقالات توش لینک داشته باشه و به هم # لینک بشن»). انتشار هفتگی: یکی هر هفته، شروع از یک هفته بعد از آخرین # مقاله‌ی فصل قبل — با همان مکانیزمِ published_at-به‌عنوان-gate که در # apps.landing.views._visible_articles پیاده شده، نیازی به کرون نیست. LAST_PREVIOUS_DATE = datetime.date(2026, 9, 8) ARTICLES = [ # --- خوشه‌ی دفتر درآمد و هزینه / حسابداری --- { "slug": "tafavot-daramad-naghdi-talab", "title": "تفاوت درآمد نقدی و طلب چیست؟", "meta_description": "چرا هر پولی که «قرار است» به تو برسد را نباید همان لحظه درآمد حساب کرد — فرق درآمد نقدی و طلب در دفترداریِ کسب‌وکار کوچک.", "excerpt": "هر پولی که «قرار است» برسد، هنوز پول نیست — فرق درآمد و طلب همین‌جاست.", "read_minutes": 3, "content_html": """

یک سوال ساده که جواب دادنش سخت‌تر از چیزی است که فکر می‌کنی: «همین الان چقدر پول نقد در دسترس داری؟» خیلی از کسب‌وکارهای کوچک این عدد را با «جمعِ کل فروش» اشتباه می‌گیرند — در حالی که بخشی از آن فروش هنوز طلب است، نه پول در جیب.

درآمد یعنی چه، طلب یعنی چه

درآمدِ نقدی یعنی پولی که همین الان دستت رسیده. طلب (receivable) یعنی حقی که داری تا در آینده پول را بگیری — مثل وقتی جنسی را قسطی می‌فروشی. هر دو «فروش» حساب می‌شوند، اما فقط یکی‌شان همین الان قابل‌خرج‌کردن است.

چرا این فرق مهم است

اگر طلب را با درآمدِ نقدی یکی حساب کنی، فکر می‌کنی پول بیشتری داری که واقعا نداری — و همین باعث می‌شود در پرداختِ هزینه‌های خودت (اجاره، خرید جنسِ تازه) کم بیاوری. دفتر درآمد و هزینه‌ی شاپ شیپ این دو را از هم جدا نگه می‌دارد تا همیشه بدانی چقدر واقعا در دسترس داری.

""", }, { "slug": "csv-daftar-baraye-hesabdar", "title": "چطور خروجی CSV دفتر حساب را برای حسابدار بفرستم؟", "meta_description": "دفتر درآمد و هزینه‌ی شاپ شیپ را برای یک بازه‌ی دلخواه به فایل CSV تبدیل و برای حسابدارت ارسال کن — سازگار با اکسل فارسی.", "excerpt": "یک بازه‌ی تاریخ انتخاب کن، خروجی CSV بگیر، برای حسابدارت بفرست.", "read_minutes": 2, "content_html": """

خیلی از کسب‌وکارهای کوچک هر چند ماه یک‌بار باید دفترشان را برای یک حسابدار بفرستند — برای اظهارنامه‌ی مالیاتی یا فقط یک مرور کلی. شاپ شیپ این کار را به چند ثانیه رسانده.

خروجی گرفتن

از دفتر درآمد و هزینه، یک بازه‌ی تاریخِ دلخواه (مثلا یک ماه یا یک فصل) انتخاب کن و «خروجی CSV» را بزن. فایلی می‌سازد که مستقیم در اکسل یا گوگل‌شیت باز می‌شود — با حروف فارسیِ درست، بدون به‌هم‌ریختگی.

چه چیزی در فایل هست

هر ردیف یک ثبت است: تاریخ، دسته‌بندی (مثلا فروش نقدی یا خرید نسیه)، مبلغ، و یادداشتی که خودت نوشته بودی. برای ثبت‌های بدهی/طلب، مانده‌حساب هم در فایل می‌آید — حسابدارت همان چیزی را می‌بیند که تو در اپ می‌بینی.

""", }, { "slug": "modiriyat-bedehi-moshtarian", "title": "مدیریت بدهی مشتریان با موبایل", "meta_description": "همه‌ی مشتریانی که به تو بدهکارند، مانده‌حساب و تاریخچه‌ی اقساطشان را در یک صفحه ببین — بدون دفترچه‌ی کاغذی.", "excerpt": "مانده‌حساب هر مشتری، خودکار از فاکتورها و دفترت محاسبه می‌شود — نه با دفترچه‌ی کاغذی.", "read_minutes": 3, "content_html": """

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

مانده‌حساب خودکار

هر بار که یک فروش قسطی برای یک مشتری ثبت می‌کنی یا یک قسط از او می‌گیری، مانده‌حساب همان مشتری در پروفایلش خودکار به‌روز می‌شود — جمع تمام بدهی‌های بازش، نه فقط آخرین ثبت.

یک نگاه، همه‌ی بدهکارها

از پرونده‌ی مشتری می‌توانی ببینی چه کسی چقدر بدهکار است و آخرین قسطش کِی بوده — و اگر لازم شد، از همان‌جا یک پیامکِ یادآوری برایش بفرستی.

""", }, { "slug": "sabt-hazine-rozane-maghaze", "title": "ثبت هزینه‌های روزمره‌ی مغازه: از کجا شروع کنم؟", "meta_description": "اجاره، قبض، حقوق، خرید جنس — راهنمای شروع ثبت هزینه‌های روزمره‌ی یک کسب‌وکار کوچک در دفتر درآمد و هزینه‌ی شاپ شیپ.", "excerpt": "لازم نیست حسابدار باشی — فقط دسته‌ی درستِ نزدیک به هزینه‌ات را انتخاب کن.", "read_minutes": 3, "content_html": """

خیلی‌ها ثبتِ هزینه را به این دلیل کنار می‌گذارند که فکر می‌کنند باید اصطلاحاتِ حسابداری بلد باشند. خبر خوب: نیستی، فقط چند دسته‌ی ساده کافی است.

دسته‌های آماده برای شروع

اجاره، حقوق، قبض/آب‌وبرق، خرید نقدی جنس، و «سایر هزینه‌ها» — این پنج دسته اکثرِ هزینه‌های روزمره‌ی یک مغازه‌ی کوچک را پوشش می‌دهند. برای خرید جنسی که نقد نپرداختی، دسته‌ی خرید نسیه جداست.

عادتِ هر روز، بهتر از هر هفته

ثبتِ هر هزینه همان لحظه که اتفاق می‌افتد، چند ثانیه بیشتر طول نمی‌کشد؛ ولی اگر یک هفته عقب بیفتی، خیلی از ریزه‌کاری‌ها یادت می‌رود. بعد از چند هفته می‌توانی از نمودارِ درآمد و هزینه ببینی بیشترین هزینه‌ات کجا می‌رود.

""", }, { "slug": "nemodar-daramad-hazine-tasmim", "title": "نمودار درآمد و هزینه چطور به تصمیم‌گیری کمک می‌کند؟", "meta_description": "نمودار دفتر درآمد و هزینه‌ی شاپ شیپ را برای یک بازه‌ی زمانی دلخواه ببین و بفهم درآمدت روند صعودی دارد یا نه.", "excerpt": "یک نگاهِ بصری به روندِ درآمد و هزینه‌ات — نه فقط یک عدد خام.", "read_minutes": 3, "content_html": """

یک لیستِ بلند از اعداد، فهمیدنِ «آیا وضعیتم بهتر شده یا بدتر» را سخت می‌کند. نمودار به همین درد می‌خورد — یک نگاه، و روند مشخص است.

بازه‌ی زمانیِ دلخواه

از صفحه‌ی دفترِ درآمد و هزینه، وارد نمودار شو و بازه‌ای که می‌خواهی (یک ماه، یک فصل، یک سال) را انتخاب کن. درآمد و هزینه‌ی هر بازه کنار هم رسم می‌شود — همان چیزی که بعدا می‌توانی به‌عنوان خروجی CSV هم داشته باشی.

سوالی که نمودار جواب می‌دهد

«این ماه بهتر از ماه پیش بودم؟» یا «بعد از فعال‌کردنِ پیام گروهی، فروشم بالا رفت؟» — این‌ها سوالاتی هستند که یک نمودارِ ساده بهتر از یک لیستِ عددی جوابشان را می‌دهد.

""", }, { "slug": "kharid-nasiye-dar-daftardari", "title": "فرق خرید نسیه و خرید نقدی در دفترداری", "meta_description": "خرید نسیه یک نوع بدهکاریِ تو به فروشنده است، نه یک هزینه‌ی ساده — چطور شاپ شیپ این تفاوت را در دفتر نشان می‌دهد.", "excerpt": "خرید نسیه یعنی تو بدهکارِ فروشنده‌ای — دقیقا برعکسِ فروش قسطی.", "read_minutes": 3, "content_html": """

مقاله‌ی فروش قسطی چطور باید ثبت شود؟ نشان داد وقتی تو جنسی را قسطی می‌فروشی، مشتری به تو بدهکار می‌شود. حالا برعکسش: وقتی تو از یک تامین‌کننده جنس نسیه می‌خری، این‌بار خودت بدهکاری.

چرا این را جدا از هزینه‌ی نقدی ثبت کنیم

اگر خرید نسیه را همان لحظه «هزینه» حساب کنی، انگار همان لحظه پول دادی — در حالی که ندادی. این یعنی موجودیِ نقدیِ حساب‌شده‌ات از واقعیت بیشتر نشان داده می‌شود، دقیقا برعکسِ اشتباهی که در مقاله‌ی تفاوت درآمد نقدی و طلب گفتیم.

در شاپ شیپ

دسته‌ی «خرید نسیه» را که انتخاب کنی، اپ مبلغِ کل و نام طرف‌حساب را می‌پرسد و یک بدهیِ باز برایت می‌سازد — دقیقا هم‌خانواده‌ی همان مکانیزمِ طلب، فقط جهتش برعکس است.

""", }, { "slug": "sabt-aghsat-bedehi", "title": "چطور اقساط یک بدهی را ثبت و پیگیری کنم؟", "meta_description": "برای هر بدهی/طلبِ باز در دفتر شاپ شیپ، هر قسطی که می‌گیری یا می‌دهی را جدا ثبت کن و مانده‌حساب خودکار کم شود.", "excerpt": "هر قسط را جدا ثبت کن — مانده‌حساب خودش کم می‌شود، حساب‌وکتاب دستی لازم نیست.", "read_minutes": 2, "content_html": """

وقتی یک فروش قسطی یا خرید نسیه در دفترت ثبت می‌کنی، یک «مانده‌حساب» برایش ساخته می‌شود. حالا سوال این است: وقتی هر قسط می‌رسد، چطور ثبتش کنم؟

ثبت هر قسط، جدا

روی همان ثبتِ بدهی/طلب باز کن و یک قسطِ جدید اضافه کن — مبلغ، تاریخ، و اگر خواستی یک شماره‌ی مرجع (مثلا شماره‌ی رسید). همین که ثبت شد، مانده‌حساب خودکار همان مقدار کم می‌شود.

وقتی مانده صفر شود

وقتی مجموعِ اقساط به کل بدهی برسد، آن ثبت دیگر در لیستِ «بدهی‌های باز» نشان داده نمی‌شود — اما تاریخچه‌ی کاملِ اقساط همیشه قابل‌مرور می‌ماند، برای وقتی که لازم شد به آن رجوع کنی.

""", }, # --- خوشه‌ی فاکتور --- { "slug": "fatoore-chand-ghalam-kala", "title": "فاکتور با تخفیف و مالیات چند نوع کالا چطور صادر می‌شود؟", "meta_description": "هر قلمِ کالا در فاکتورِ شاپ شیپ می‌تواند نرخ تخفیف و مالیاتِ جدا از بقیه داشته باشد — جمعِ نهایی خودکار محاسبه می‌شود.", "excerpt": "هر قلم کالا، تخفیف و مالیاتِ خودش را دارد — جمعِ نهایی را اپ حساب می‌کند.", "read_minutes": 3, "content_html": """

فرض کن یک فاکتور داری با سه قلم کالا: یکی تخفیف دارد، یکی مالیاتِ متفاوت، و سومی هیچ‌کدام. حساب‌کردنِ دستیِ این‌ها با ماشین‌حساب، هم وقت‌گیر است هم پرخطا.

هر قلم، تنظیماتِ خودش

وقتی کالایی را (از همان لیستِ انبارت) به فاکتور اضافه می‌کنی، می‌توانی برایش یک درصد تخفیف و یک نرخ مالیات جدا از بقیه‌ی قلم‌ها بگذاری.

جمعِ نهایی، خودکار

جمعِ کل، جمعِ مالیات، و مبلغِ تخفیف‌خورده‌ی نهایی خودش محاسبه می‌شود — همان چیزی که در مقاله‌ی فاکتور رسمی برای مغازه هم به اتصالش به انبار اشاره شده بود.

""", }, { "slug": "vaziat-fatoore-pardakht", "title": "فرق فاکتور پرداخت‌شده و در‌انتظار پرداخت", "meta_description": "هر فاکتور در شاپ شیپ یک وضعیت روشن دارد — پرداخت‌شده یا در‌انتظار — و همین وضعیت تعیین می‌کند دفترت و انبارت چه تغییری می‌کنند.", "excerpt": "وضعیتِ فاکتور فقط یک برچسب نیست — تعیین می‌کند انبار و دفترت چه اتفاقی برایشان می‌افتد.", "read_minutes": 2, "content_html": """

یک فاکتور صرفا «صادر شدن» کافی نیست — باید بدانی پولش رسیده یا نه. شاپ شیپ برای همین یک وضعیتِ روشن به هر فاکتور می‌دهد.

وقتی پرداخت‌شده می‌شود

همین که فاکتور را «پرداخت‌شده» علامت بزنی، دو اتفاق خودکار می‌افتد: موجودیِ کالاهای همان فاکتور از انبار کم می‌شود، و اگر نوعِ پرداخت «قسطی/نسیه» بود، یک ثبتِ طلب هم در دفترت ساخته می‌شود.

وقتی هنوز در‌انتظار است

تا وضعیت پرداخت‌شده نشود، هیچ‌کدام از این دو اتفاق نمی‌افتد — یعنی می‌توانی فاکتور را از قبل آماده کنی، بدهی به مشتری نشان دهی، و بعدا وقتی واقعا پول رسید، وضعیتش را عوض کنی.

""", }, { "slug": "chera-fatoore-rasmi-mohem-ast", "title": "چرا باید فاکتور رسمی به مشتری بدهم حتی برای فروش کوچک؟", "meta_description": "فاکتور رسمی فقط برای فروش‌های بزرگ نیست — اعتماد، پیگیریِ اختلاف، و تاریخچه‌ی خرید مشتری، سه دلیل برای صدورِ فاکتورِ هر فروش.", "excerpt": "فاکتور فقط کاغذ نیست — سندِ اعتماد بین تو و مشتری است.", "read_minutes": 3, "content_html": """

خیلی از مغازه‌دارها فقط برای فروش‌های «بزرگ» فاکتور صادر می‌کنند — برای بقیه، یک رسیدِ دست‌نویس یا هیچی. اما فاکتورِ رسمی برای هر فروش، چند فایده دارد که با رسیدِ دست‌نویس به‌دست نمی‌آید.

اعتماد و حرفه‌ای‌بودن

یک فاکتورِ با لوگو، حس حرفه‌ای‌تری به مشتری می‌دهد — دقیقا همان چیزی که در فاکتور رسمی برای مغازه توضیح داده شد.

پیگیریِ اختلاف

اگر روزی مشتری بگوید «من این قیمت را ندیدم» یا «این کالا را نخریدم»، یک فاکتورِ ثبت‌شده در اپ، فورا قابل‌نشان‌دادن است — بدون گشتن در دفترچه‌ای که شاید گم شده باشد.

تاریخچه‌ی خرید مشتری

هر فاکتور خودکار به پرونده‌ی همان مشتری وصل می‌شود — یعنی بعد از چند ماه می‌توانی ببینی هر مشتری چقدر و چه چیزی خریده، بدون این‌که چیزی را دوباره تایپ کنی.

""", }, # --- خوشه‌ی مشتریان --- { "slug": "parvande-moshtari-chist", "title": "پرونده‌ی مشتری چیست و چه چیزهایی در آن ثبت می‌شود؟", "meta_description": "پرونده‌ی هر مشتری در شاپ شیپ، تاریخچه‌ی فاکتورها و مانده‌حسابش را خودکار جمع می‌کند — بدون هیچ ثبتِ دستیِ اضافه.", "excerpt": "تاریخچه‌ی خرید و مانده‌حساب هر مشتری، خودکار و در یک صفحه.", "read_minutes": 2, "content_html": """

وقتی چند ده یا چند صد مشتری داری، به‌خاطر سپردنِ این‌که هرکدام چه خریده و چقدر بدهکار است، عملا غیرممکن می‌شود. پرونده‌ی مشتری همین کار را برایت انجام می‌دهد.

چیزی که خودکار ساخته می‌شود

هر بار که برای یک مشتری فاکتور صادر می‌کنی یا در دفترت یک بدهی/طلب برایش ثبت می‌کنی، همه‌ی این‌ها خودکار در پرونده‌ی همان مشتری جمع می‌شود — تو چیزی جدا وارد نمی‌کنی.

مانده‌حساب، همان‌جا

اگر مشتری‌ای بدهیِ باز داشته باشد، همان‌جا در پرونده‌اش می‌بینی — دیگر نیازی به گشتن در دفتر یا فاکتورهای قدیمی نیست.

""", }, { "slug": "faal-sazi-mojadad-moshtarian", "title": "چطور مشتریان قدیمی را دوباره فعال کنم؟", "meta_description": "با پیام گروهی و لیستِ مشتریانی که مدتی خرید نکرده‌اند، یک یادآوریِ ساده بفرست و مشتریِ فراموش‌شده را برگردان.", "excerpt": "یک پیامِ یادآوریِ ساده، بیشترِ وقت‌ها کافی است — نه تخفیفِ بزرگ.", "read_minutes": 3, "content_html": """

خیلی از کسب‌وکارهای کوچک انرژی‌شان را فقط صرفِ جذبِ مشتریِ تازه می‌کنند و مشتریِ قدیمی که مدتی سراغش نرفته‌اند را فراموش می‌کنند — در حالی که برگرداندنِ یک مشتریِ قدیمی معمولا ارزان‌تر از جذبِ تازه است.

پیدا کردنِ مشتریانِ ساکت

از پرونده‌های مشتری، کسانی که مدتی فاکتور یا خریدی نداشته‌اند مشخص‌اند — همین لیست، شروعِ خوبی برای یک یادآوری است.

یک قالبِ ساده کافی است

لازم نیست تخفیفِ بزرگ بدهی؛ گاهی یک قالبِ پیام ساده مثل «دلمون برات تنگ شده، سر بزن» با نامِ خودِ مشتری، از طریقِ ارسالِ گروهی برایِ همان لیست، کافی است.

""", }, # --- خوشه‌ی انبار --- { "slug": "dastebandi-kala-anbar", "title": "دسته‌بندی کالا در انبار: از کجا شروع کنم؟", "meta_description": "برای انبارِ چند ده یا چند صد قلمی، دسته‌بندی کالا در شاپ شیپ پیدا کردن و مدیریت را چند برابر سریع‌تر می‌کند.", "excerpt": "دسته‌های ساده مثل «نوشیدنی» یا «لبنیات» — پیدا کردن یک کالا چند برابر سریع‌تر می‌شود.", "read_minutes": 2, "content_html": """

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

دسته‌های دلخواهت

دسته‌ها را خودت تعریف می‌کنی — چیزی که برای کسب‌وکارت معنی‌دار باشد، نه یک قالبِ از‌قبل‌تعیین‌شده. یک سوپرمارکت شاید «نوشیدنی/لبنیات/خشکبار» داشته باشد، یک لوازم‌یدکی‌فروشی چیزِ کاملا متفاوتی.

اثرش روی فاکتور هم هست

وقتی برای فاکتور کالا اضافه می‌کنی، همین دسته‌بندی کمک می‌کند سریع‌تر کالای موردنظر را پیدا کنی — به‌جای اسکرول‌کردنِ یک لیستِ طولانی.

""", }, { "slug": "gheymat-kharid-vs-arzesh-anbar", "title": "فرق قیمت خرید و ارزش کل انبار", "meta_description": "قیمت خرید هر کالا را ثبت کن تا شاپ شیپ خودش ارزشِ کلِ سرمایه‌ی خوابیده در انبارت را برایت حساب کند.", "excerpt": "دو عدد ساده (قیمت خرید و موجودی)، یک جوابِ مهم: چقدر سرمایه در انبارت خوابیده؟", "read_minutes": 2, "content_html": """

«الان چقدر پول در قالبِ جنس، روی طاقچه‌های مغازه‌ام خوابیده؟» سوالی است که خیلی از صاحبانِ مغازه دقیق جوابش را نمی‌دانند.

یک ضرب ساده، محاسبه‌شده برایت

برای هر کالا در انبار، قیمتِ خریدش را ثبت می‌کنی. اپ همین عدد را در موجودیِ فعلی ضرب می‌کند و «ارزشِ کلِ انبار» را نشان می‌دهد — بدون این‌که خودت دستی جمع بزنی.

چرا این عدد مهم است

این عدد به تو می‌گوید چقدر سرمایه در جنسِ فروخته‌نشده گیر افتاده — اطلاعاتی که برای تصمیمِ «الان جنسِ تازه بخرم یا نه» مستقیم به کار می‌آید.

""", }, { "slug": "hoshdar-kambood-mojoodi", "title": "هشدار کمبود موجودی چطور کار می‌کند؟", "meta_description": "برای هر کالا یک آستانه‌ی «کم شد» تعریف کن — قبل از این‌که مشتری بیاید و نداشته باشی، خودت متوجه می‌شوی.", "excerpt": "یک آستانه تعریف کن — قبل از تمام‌شدنِ واقعیِ جنس، خودت باخبر می‌شوی.", "read_minutes": 2, "content_html": """

یکی از بدترین حس‌ها برای یک مغازه‌دار، این است که مشتری بیاید و جنسی که فکر می‌کردی داری، تمام شده باشد. هشدارِ کمبود دقیقا برای جلوگیری از همین لحظه است.

آستانه‌ی دلخواهِ هر کالا

برای هر کالا در انبار، یک عدد به‌عنوان «کم شد» تعریف می‌کنی — مثلا وقتی موجودی به ۵ رسید. این عدد برای هر کالا می‌تواند فرق کند.

باخبر شدن زودتر

وقتی موجودی به آن آستانه برسد، اپ نشانش می‌دهد — قبل از این‌که واقعا صفر شود. یعنی وقت کافی برای سفارشِ جنسِ تازه داری، بدون فشارِ لحظه‌ی‌آخری.

""", }, # --- خوشه‌ی پیام گروهی --- { "slug": "ghaleb-payam-chist", "title": "قالب پیام چیست و چطور بسازمش؟", "meta_description": "قالب پیام یک متنِ آماده با جای‌خالیِ نام/شماره است که یک‌بار می‌سازی و بارها برای مخاطبین مختلف استفاده می‌کنی.", "excerpt": "یک متن، با جای‌خالی برای نام — یک‌بار بساز، بارها استفاده کن.", "read_minutes": 2, "content_html": """

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

جای‌خالیِ نام و شماره

در متنِ قالب، می‌توانی از جای‌خالی‌هایی مثل «نام» استفاده کنی — وقتی برای هر مخاطب ارسال می‌شود، خودکار با اطلاعاتِ همان مخاطب پر می‌شود.

فیلدِ اجرا، برای مقادیرِ متغیر

اگر یک مقدار داری که از قبل معلوم نیست (مثل کد رهگیری)، قالب می‌تواند یک فیلدِ اجرا هم داشته باشد — همان لحظه‌ی ارسال از تو پرسیده می‌شود.

""", }, { "slug": "ersal-payam-be-goruh-khas", "title": "ارسال پیام به گروه خاصی از مشتریان", "meta_description": "به‌جای فرستادن یک پیام به همه، فقط برای بدهکارها، مشتریانِ ساکت، یا هر گروهِ دلخواه دیگری در شاپ شیپ پیام بفرست.", "excerpt": "همه یک پیام یکسان نمی‌خواهند — پیامِ درست را برای گروهِ درست بفرست.", "read_minutes": 2, "content_html": """

فرستادنِ یک پیامِ یکسان به همه‌ی مخاطبین، همیشه بهترین راه نیست — پیامِ یادآوریِ بدهی برای بدهکارها معنی دارد، نه برای همه.

انتخاب گیرنده‌ها

قبل از ارسال، مخاطبینی که پیام برایشان می‌رود را خودت انتخاب می‌کنی — مثلا فقط کسانی که بدهیِ باز دارند، یا فقط مشتریانِ مدتی ساکت.

یک قالب، گیرنده‌های متفاوت

همان قالبِ پیام که یک‌بار ساختی، برای هر گروهی که بعدا انتخاب کنی دوباره قابل‌استفاده است — فقط لیستِ گیرنده‌ها را عوض می‌کنی.

""", }, { "slug": "vaziat-tahvil-payamak", "title": "چک کردن وضعیت تحویل پیامک‌های ارسالی", "meta_description": "بعد از ارسال گروهی، بفهم کدام پیامک واقعا تحویل داده شده، کدام در صف مانده و کدام ناموفق بوده — همه در یک لیست.", "excerpt": "بعد از ارسال، بفهم واقعا چند نفر پیامک را گرفتند.", "read_minutes": 2, "content_html": """

«آیا واقعا رسید؟» سوالی است که بعد از هر ارسالِ گروهی می‌آید — به‌خصوص برای قالب‌های پیام مهم مثل یادآوریِ پرداخت.

سه وضعیتِ ممکن

هر پیامکِ ارسالی یکی از این سه وضعیت را دارد: تحویل‌شده، در‌صف (هنوز پردازش می‌شود)، یا ناموفق. لیستِ کاملِ همه‌ی ارسال‌ها، با وضعیتِ هرکدام، در دسترس است.

وقتی چیزی ناموفق بود

اگر پیامکی به دلیلی (مثلا شماره‌ی اشتباه) ناموفق بود، می‌دانی دقیقا چه کسی پیام را نگرفته — می‌توانی جداگانه دوباره برایش بفرستی، به‌جای حدس‌زدن.

""", }, { "slug": "kodam-kanal-baraye-kodam-kasbokar", "title": "کدام کانال برای کدام کسب‌وکار بهتر است؟", "meta_description": "فروشگاه، آنلاین‌شاپ، یا کسب‌وکار خدماتی — هرکدام معمولا با یک ترکیبِ متفاوت از پیامک/واتساپ/تلگرام بهتر جواب می‌گیرند.", "excerpt": "نوعِ کسب‌وکارت مشخص می‌کند کدام کانال بیشترین اثر را دارد.", "read_minutes": 3, "content_html": """

مقاله‌ی پیامک یا واتساپ‌بیزینس؟ تفاوتِ فنیِ کانال‌ها را توضیح داد. این‌جا می‌خواهیم ببینیم کدام کسب‌وکار معمولا کدام ترکیب را بیشتر لازم دارد.

فروشگاه‌های محلی

برای اعلامِ موجودیِ روزانه یا تخفیف، پیامک قابل‌اطمینان‌ترین است — همه به آن دسترسی دارند، حتی بدون اینترنت.

آنلاین‌شاپ‌های کوچک

اطلاع‌رسانیِ مراحلِ سفارش معمولا با پیامک بهتر جواب می‌دهد، چون مشتری منتظرِ خبرِ «ارسال شد» است و نمی‌خواهد وابسته به بازکردنِ یک اپ خاص باشد.

کسب‌وکارهای خدماتی

برای ارتباطِ دوطرفه‌تر (سوال‌وجواب با مشتری)، واتساپ یا تلگرام معمولا راحت‌تر است — به‌شرطی که مسیرِ رسمیِ هرکدام رعایت شود.

""", }, # --- خوشه‌ی پیگیری سفارش --- { "slug": "tartib-marahel-sefaresh", "title": "جابه‌جا کردن ترتیب مراحل سفارش با کشیدن و رها کردن", "meta_description": "مراحلِ پیگیری سفارش در شاپ شیپ ثابت نیستند — با کشیدن و رها کردن، ترتیبشان را دقیقا مطابق جریان کاریِ واقعیت تنظیم کن.", "excerpt": "ترتیبِ مراحل، دقیقا مطابقِ جریانِ کاریِ واقعیِ خودت — با یک کشیدن و رها کردن.", "read_minutes": 2, "content_html": """

همان‌طور که در مقاله‌ی پیگیری سفارش آنلاین‌شاپ گفتیم، مراحلِ کار را خودت تعریف می‌کنی. اما گاهی بعد از مدتی می‌فهمی ترتیبِ اولیه دقیق نبوده.

کشیدن و رها کردن

از صفحه‌ی مراحلِ سفارش، هر مرحله را می‌توانی بگیری و به جای درست بکشی — بدون نیاز به حذف و ساختِ دوباره. مثلا اگر «بسته‌بندی» را قبل از «آماده‌سازی» گذاشته بودی، فقط جابه‌جایش کن.

تغییر ترتیب، تاثیری روی سفارش‌های قبلی ندارد

سفارش‌هایی که از قبل در یک مرحله بودند، همان‌جا می‌مانند — تغییرِ ترتیب فقط روی مسیرِ سفارش‌های بعدی اثر می‌گذارد.

""", }, { "slug": "payam-mokhtalef-har-marhale", "title": "چطور برای هر مرحله‌ی سفارش پیامک متفاوت بفرستم؟", "meta_description": "هر مرحله‌ی پیگیری سفارش در شاپ شیپ به یک قالبِ پیام جداگانه وصل می‌شود — «آماده شد» یک متن، «ارسال شد» متنی دیگر.", "excerpt": "هر مرحله، قالبِ پیامِ خودش را دارد — نه یک متنِ یکسان برای همه‌جا.", "read_minutes": 2, "content_html": """

یک پیامِ یکسان برای «سفارشت آماده شد» و «سفارشت تحویل داده شد» منطقی نیست — هرکدام باید خبرِ متفاوتی بدهند.

هر مرحله، یک قالب

وقتی یک مرحله می‌سازی، همان‌جا یک قالبِ پیام برایش انتخاب می‌کنی — می‌تواند برای هر مرحله کاملا متفاوت باشد.

وقتی مرحله فیلدِ اجرا دارد

برای مرحله‌ای مثل «ارسال شد» که یک کدِ رهگیری لازم دارد، قالبِ همان مرحله می‌تواند فیلدِ اجرا داشته باشد — همان لحظه از تو پرسیده و در پیامک جای می‌شود.

""", }, # --- خوشه‌ی راهنمای عمومی/آشناسازی --- { "slug": "behtarin-estefade-az-hafte-raygan", "title": "یک هفته‌ی رایگان شاپ شیپ را چطور بهترین استفاده را ببرم؟", "meta_description": "راهنمای هفت‌روزه: چه کارهایی در هفته‌ی رایگانِ شاپ شیپ انجام بده تا قبل از هر تصمیمِ پرداختی، ارزشِ واقعیِ اپ را ببینی.", "excerpt": "هفت روز، هفت قدمِ کوچک — تا قبل از هر تصمیم پرداختی، ارزشِ واقعی را ببینی.", "read_minutes": 3, "content_html": """

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

روزهای اول: داده‌های واقعی

به‌جای امتحان‌کردنِ با داده‌ی الکی، از همین روزِ اول چند کالای واقعیِ انبارت و چند مخاطبِ واقعی را وارد کن.

وسط هفته: یک فاکتور و یک پیام واقعی

یک فاکتورِ واقعی برای یک فروشِ واقعی بزن، و یک قالبِ پیام بساز و برایِ چند مشتریِ واقعی بفرست.

آخر هفته: مرور

به دفترِ درآمد و هزینه‌ات نگاه کن — همان چیزی که در این هفته ثبت شده، تصویرِ کوچکی از این است که یک ماهِ کامل با شاپ شیپ چه شکلی خواهد بود.

""", }, { "slug": "amniat-etelaat-kasbokar", "title": "امنیت اطلاعات کسب‌وکارت در شاپ شیپ", "meta_description": "قفل اثرانگشت، دیتای اختصاصی هر کاربر، و این‌که چرا اطلاعاتِ مالی و مشتریانِ تو فقط مالِ خودت است.", "excerpt": "قفل اثرانگشت روی اطلاعاتِ حساس، و دیتایی که فقط مالِ خودت است.", "read_minutes": 2, "content_html": """

اطلاعاتِ مالی و لیستِ مشتریانِ یک کسب‌وکار، از حساس‌ترین چیزهایی است که روی گوشیِ کسی می‌تواند باشد — به همین دلیل امنیت اینجا جدی گرفته شده.

قفل اثرانگشت

می‌توانی ورود به بخش‌های حساس (مثل دفتر درآمد و هزینه) را پشتِ قفلِ اثرانگشتِ گوشی‌ات بگذاری — حتی اگر کسی گوشی‌ات را باز کند، به این بخش‌ها بدون اثرانگشتِ خودت دسترسی ندارد.

دیتای تو، مالِ خودت

اطلاعاتِ کسب‌وکارِ هر کاربر کاملا از بقیه جدا است — چیزی بینِ حساب‌های مختلف به اشتراک گذاشته نمی‌شود.

""", }, { "slug": "taghvim-shamsi-dar-narmafzar", "title": "تقویم شمسی در نرم‌افزارهای کسب‌وکار چرا مهم است؟", "meta_description": "تاریخِ میلادی در نرم‌افزارهای مالی، محاسبه‌ی سررسیدها و مرورِ گزارش‌ها را برای کاربر فارسی‌زبان سخت‌تر می‌کند — شاپ شیپ همه‌جا شمسی است.", "excerpt": "وقتی سررسیدِ قسط یا تاریخِ فاکتور را می‌بینی، باید همان لحظه معنی‌اش را بفهمی — نه تبدیل کنی.", "read_minutes": 2, "content_html": """

خیلی از نرم‌افزارهای مالی و حسابداری با تاریخِ میلادی کار می‌کنند — و کاربرِ فارسی‌زبان باید در ذهنش تبدیل کند. این تبدیلِ ذهنی، هرچقدر هم سریع، یک لایه‌ی اضافه‌ی خستگی است.

همه‌جا شمسی

از تاریخِ فاکتور تا سررسیدِ اقساط تا نمودارِ دفتر، همه‌جا با تقویمِ شمسی نمایش داده می‌شود.

یعنی چه در عمل

وقتی می‌بینی «سررسید ۱۵ مهر»، همان لحظه معنایش را می‌فهمی — بدون این‌که مجبور باشی محاسبه کنی امروز چندمِ میلادی است و چند روز مانده.

""", }, { "slug": "jam-chist-chetor-kar-mikonad", "title": "جم چیست و چطور برای فعال‌سازی ابزارها استفاده می‌شود؟", "meta_description": "شاپ شیپ به‌جای اشتراکِ همه‌یا‌هیچ، هر بخش را جدا با «جم» فعال می‌کند — جم چطور خریداری و خرج می‌شود.", "excerpt": "به‌جای اشتراکِ همه‌یا‌هیچ، هر بخش را جدا، فقط با جم، فعال می‌کنی.", "read_minutes": 2, "content_html": """

خیلی از نرم‌افزارها یک اشتراکِ ثابت می‌فروشند که شاملِ همه‌ی امکانات است — حتی آن‌هایی که لازم نداری. شاپ شیپ این مدل را عوض کرده.

جم چیست

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

از کجا جم بگیرم

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

""", }, { "slug": "davat-doostan-refferal", "title": "دعوت دوستان و پاداش معرفی در شاپ شیپ", "meta_description": "کد معرفِ خودت را با یک صاحب کسب‌وکار دیگر به اشتراک بگذار — هر دو نفر جم پاداش می‌گیرید که می‌شود برای فعال‌سازیِ ابزارها خرج کرد.", "excerpt": "کدِ معرفت را با یک صاحب کسب‌وکارِ دیگر به اشتراک بگذار — هر دو برنده می‌شوید.", "read_minutes": 2, "content_html": """

اگر یک صاحب کسب‌وکارِ دیگر را می‌شناسی که ممکن است شاپ شیپ به دردش بخورد، معرفیِ او هم به نفعِ او هم به نفعِ خودت است.

چطور کار می‌کند

کدِ معرفِ خودت را (از پروفایلِ خودت در اپ) با او به اشتراک بگذار. وقتی او با همان کد ثبت‌نام و فعالیتِ واقعی را شروع کند، هر دوی شما جمِ پاداش می‌گیرید.

خرجِ جمِ پاداش

جمی که از این راه می‌گیری، دقیقا مثلِ جمِ خریداری‌شده است — می‌توانی با آن هر بخشی از اپ (فاکتور، پیام گروهی، دفتر) را برای مدتی فعال کنی، بدون پرداختِ پول.

""", }, { "slug": "kasbokar-khord-chist", "title": "کسب‌وکار خرد چیست و چه نرم‌افزارهایی واقعا به دردش می‌خورد؟", "meta_description": "یک مغازه‌ی یک‌نفره یا یک آنلاین‌شاپِ کوچک، نیازِ نرم‌افزاریِ متفاوتی از یک شرکتِ بزرگ دارد — چرا سادگی مهم‌تر از قابلیت‌های زیاد است.", "excerpt": "کسب‌وکارِ یک یا دو‌نفره، نیازِ نرم‌افزاریِ متفاوتی از یک شرکتِ بزرگ دارد.", "read_minutes": 3, "content_html": """

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

چرا نرم‌افزارِ شرکت‌های بزرگ جواب نمی‌دهد

نرم‌افزارهایی که برای تیمِ حسابداریِ چندنفره طراحی شده‌اند، پر از تنظیماتی هستند که یک مغازه‌دارِ تنها هیچ‌وقت لازمشان ندارد — و همین پیچیدگی باعث می‌شود اصلا استفاده نشود.

چه چیزی واقعا لازم است

چیزهایی مثل فاکتورِ ساده، ثبتِ هزینه‌ی روزمره، و پیامِ گروهیِ ساده — نه گزارش‌های پیچیده‌ای که هیچ‌وقت باز نمی‌شوند.

""", }, { "slug": "checklist-rahandazi-maghaze", "title": "چک‌لیست راه‌اندازی یک مغازه‌ی کوچک با موبایل", "meta_description": "از ثبتِ اولین کالا تا صدور اولین فاکتور — چک‌لیستِ قدم‌به‌قدمِ راه‌اندازیِ مدیریتِ یک مغازه‌ی کوچک با شاپ شیپ.", "excerpt": "از اولین کالا تا اولین فاکتور — یک چک‌لیستِ قدم‌به‌قدم.", "read_minutes": 3, "content_html": """

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

قدم اول: انبار

چند کالای پرتکرارت را با دسته‌بندی و قیمتِ خرید وارد کن — نیازی نیست همه را یک‌جا وارد کنی، می‌توانی کم‌کم اضافه کنی.

قدم دوم: چند مشتریِ ثابت

اگر مشتریانِ ثابت داری، آن‌ها را با وارد‌کردن از مخاطبینِ گوشی اضافه کن.

قدم سوم: اولین فاکتور

برای یک فروشِ واقعی، اولین فاکتورت را بزن — از همین‌جا می‌بینی چطور فاکتور، انبار، و دفترت به هم وصل می‌شوند.

قدم چهارم: اولین پیامِ گروهی

یک قالبِ پیام ساده بساز و برای همان چند مشتری بفرست — تمام.

""", }, { "slug": "shopship-vs-excel", "title": "تفاوت شاپ شیپ با اکسل برای مدیریت کسب‌وکار", "meta_description": "اکسل رایگان است ولی محاسبه، یادآوری، و اتصالِ خودکارِ بین فاکتور/انبار/دفتر را ندارد — مقایسه‌ای صادق بین دو رویکرد.", "excerpt": "اکسل رایگان است، ولی چیزهایی را خودکار نمی‌کند که هر روز وقتت را می‌گیرد.", "read_minutes": 3, "content_html": """

اکسل ابزارِ قدرتمندی است و خیلی از کسب‌وکارهای کوچک سال‌ها با آن کار کرده‌اند. سوال این نیست که اکسل بد است — سوال این است که چه چیزی اکسل به‌طورِ پیش‌فرض برایت انجام نمی‌دهد.

اتصالِ خودکار بین بخش‌ها

در اکسل، وقتی فاکتور می‌زنی باید جداگانه هم موجودیِ انبار را کم کنی، هم دفترت را به‌روز کنی — سه کار برای یک فروش. در شاپ شیپ این‌ها خودکار به هم وصل‌اند.

یادآوری و پیام، بدونِ ابزارِ جدا

اکسل نمی‌تواند برایت پیامک بفرستد. برای یادآوریِ مشتری یا هشدارِ کمبودِ موجودی، باز باید ابزارِ جدا داشته باشی.

وقتی اکسل هنوز کافی است

اگر فقط چند فروش در هفته داری و هیچ‌وقت نیاز به پیام گروهی یا پیگیریِ بدهی نداری، شاید اکسل هنوز جواب بدهد. اما همین که کسب‌وکارت رشد کند، این محاسبات و یادآوری‌های دستی، وقتِ زیادی می‌گیرند.

""", }, { "slug": "yek-app-bejaye-chand-narmafzar", "title": "چطور از یک اپ واحد به‌جای چند نرم‌افزار جدا استفاده کنم؟", "meta_description": "به‌جای یک اپ برای فاکتور، یک اپ برای پیامک، و یک دفترچه برای حساب‌وکتاب، همه را در شاپ شیپ یک‌جا داشته باش.", "excerpt": "فاکتور، پیام، انبار، دفتر — همه یک‌جا، و به‌هم وصل.", "read_minutes": 3, "content_html": """

خیلی از کسب‌وکارهای کوچک بدونِ این‌که تصمیمِ آگاهانه‌ای گرفته باشند، سرِ آخر با پنج ابزارِ جدا کار می‌کنند: یک اپ برای فاکتور، یکی برای پیامک، یک دفترچه برای حساب، و اکسلِ انبار.

مشکلِ اصلیِ ابزارهای جدا

هیچ‌کدام از این ابزارها با هم حرف نمی‌زنند — یعنی هر فروش را باید سه یا چهار بار جدا ثبت کنی. همان‌طور که در مقاله‌ی تفاوتِ شاپ شیپ با اکسل گفتیم، همین دوباره‌کاری‌هاست که وقتِ زیادی می‌گیرد.

وقتی همه‌چیز یک‌جاست

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

شروعِ آسان

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

""", }, ] def add_articles(apps, schema_editor): Article = apps.get_model("landing", "Article") for index, data in enumerate(ARTICLES): Article.objects.update_or_create( slug=data["slug"], defaults={ "title": data["title"], "meta_description": data["meta_description"], "excerpt": data["excerpt"], "content_html": data["content_html"], "read_minutes": data["read_minutes"], "is_published": True, "published_at": LAST_PREVIOUS_DATE + datetime.timedelta(weeks=index + 1), }, ) def remove_articles(apps, schema_editor): Article = apps.get_model("landing", "Article") Article.objects.filter(slug__in=[a["slug"] for a in ARTICLES]).delete() class Migration(migrations.Migration): dependencies = [ ("landing", "0001_initial"), ] operations = [ migrations.RunPython(add_articles, remove_articles), ]