Files
shopship/apps/landing/migrations/0002_articles_batch.py
T

899 lines
56 KiB
Python
Raw Normal View History

2026-09-04 13:05:54 +03:30
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": """
<p>
یک سوال ساده که جواب دادنش سخت‌تر از چیزی است که فکر می‌کنی: «همین
الان چقدر پول نقد در دسترس داری؟» خیلی از کسب‌وکارهای کوچک این عدد را
با «جمعِ کل فروش» اشتباه می‌گیرند — در حالی که بخشی از آن فروش هنوز
طلب است، نه پول در جیب.
</p>
<h2>درآمد یعنی چه، طلب یعنی چه</h2>
<p>
درآمدِ نقدی یعنی پولی که همین الان دستت رسیده. طلب (receivable) یعنی
حقی که داری تا در آینده پول را بگیری — مثل وقتی جنسی را
<a href="/articles/forosh-ghesti-hesabdari/">قسطی می‌فروشی</a>. هر دو
«فروش» حساب می‌شوند، اما فقط یکی‌شان همین الان قابل‌خرج‌کردن است.
</p>
<h2>چرا این فرق مهم است</h2>
<p>
اگر طلب را با درآمدِ نقدی یکی حساب کنی، فکر می‌کنی پول بیشتری داری
که واقعا نداری — و همین باعث می‌شود در پرداختِ هزینه‌های خودت (اجاره،
خرید جنسِ تازه) کم بیاوری. دفتر درآمد و هزینه‌ی شاپ شیپ این دو را از
هم جدا نگه می‌دارد تا همیشه بدانی چقدر واقعا در دسترس داری.
</p>
""",
},
{
"slug": "csv-daftar-baraye-hesabdar",
"title": "چطور خروجی CSV دفتر حساب را برای حسابدار بفرستم؟",
"meta_description": "دفتر درآمد و هزینه‌ی شاپ شیپ را برای یک بازه‌ی دلخواه به فایل CSV تبدیل و برای حسابدارت ارسال کن — سازگار با اکسل فارسی.",
"excerpt": "یک بازه‌ی تاریخ انتخاب کن، خروجی CSV بگیر، برای حسابدارت بفرست.",
"read_minutes": 2,
"content_html": """
<p>
خیلی از کسب‌وکارهای کوچک هر چند ماه یک‌بار باید دفترشان را برای یک
حسابدار بفرستند — برای اظهارنامه‌ی مالیاتی یا فقط یک مرور کلی. شاپ
شیپ این کار را به چند ثانیه رسانده.
</p>
<h2>خروجی گرفتن</h2>
<p>
از دفتر درآمد و هزینه، یک بازه‌ی تاریخِ دلخواه (مثلا یک ماه یا یک
فصل) انتخاب کن و «خروجی CSV» را بزن. فایلی می‌سازد که مستقیم در اکسل
یا گوگل‌شیت باز می‌شود — با حروف فارسیِ درست، بدون به‌هم‌ریختگی.
</p>
<h2>چه چیزی در فایل هست</h2>
<p>
هر ردیف یک ثبت است: تاریخ، دسته‌بندی (مثلا فروش نقدی یا
<a href="/articles/kharid-nasiye-dar-daftardari/">خرید نسیه</a>)، مبلغ،
و یادداشتی که خودت نوشته بودی. برای ثبت‌های بدهی/طلب، مانده‌حساب هم
در فایل می‌آید — حسابدارت همان چیزی را می‌بیند که تو در اپ می‌بینی.
</p>
""",
},
{
"slug": "modiriyat-bedehi-moshtarian",
"title": "مدیریت بدهی مشتریان با موبایل",
"meta_description": "همه‌ی مشتریانی که به تو بدهکارند، مانده‌حساب و تاریخچه‌ی اقساطشان را در یک صفحه ببین — بدون دفترچه‌ی کاغذی.",
"excerpt": "مانده‌حساب هر مشتری، خودکار از فاکتورها و دفترت محاسبه می‌شود — نه با دفترچه‌ی کاغذی.",
"read_minutes": 3,
"content_html": """
<p>
خیلی از مغازه‌دارها یک دفترچه‌ی کاغذیِ جدا برای «کیا بهم بدهکارن»
دارند — که هم گم می‌شود، هم به‌روزرسانیش یادشان می‌رود. در شاپ شیپ،
این دفترچه دیگر لازم نیست.
</p>
<h2>مانده‌حساب خودکار</h2>
<p>
هر بار که یک <a href="/articles/forosh-ghesti-hesabdari/">فروش
قسطی</a> برای یک مشتری ثبت می‌کنی یا یک قسط از او می‌گیری، مانده‌حساب
همان مشتری در پروفایلش خودکار به‌روز می‌شود — جمع تمام بدهی‌های بازش،
نه فقط آخرین ثبت.
</p>
<h2>یک نگاه، همه‌ی بدهکارها</h2>
<p>
از <a href="/articles/parvande-moshtari-chist/">پرونده‌ی مشتری</a>
می‌توانی ببینی چه کسی چقدر بدهکار است و آخرین قسطش کِی بوده — و اگر
لازم شد، از همان‌جا یک پیامکِ یادآوری برایش بفرستی.
</p>
""",
},
{
"slug": "sabt-hazine-rozane-maghaze",
"title": "ثبت هزینه‌های روزمره‌ی مغازه: از کجا شروع کنم؟",
"meta_description": "اجاره، قبض، حقوق، خرید جنس — راهنمای شروع ثبت هزینه‌های روزمره‌ی یک کسب‌وکار کوچک در دفتر درآمد و هزینه‌ی شاپ شیپ.",
"excerpt": "لازم نیست حسابدار باشی — فقط دسته‌ی درستِ نزدیک به هزینه‌ات را انتخاب کن.",
"read_minutes": 3,
"content_html": """
<p>
خیلی‌ها ثبتِ هزینه را به این دلیل کنار می‌گذارند که فکر می‌کنند باید
اصطلاحاتِ حسابداری بلد باشند. خبر خوب: نیستی، فقط چند دسته‌ی ساده
کافی است.
</p>
<h2>دسته‌های آماده برای شروع</h2>
<p>
اجاره، حقوق، قبض/آب‌وبرق، خرید نقدی جنس، و «سایر هزینه‌ها» — این پنج
دسته اکثرِ هزینه‌های روزمره‌ی یک مغازه‌ی کوچک را پوشش می‌دهند. برای
خرید جنسی که نقد نپرداختی، دسته‌ی
<a href="/articles/kharid-nasiye-dar-daftardari/">خرید نسیه</a> جداست.
</p>
<h2>عادتِ هر روز، بهتر از هر هفته</h2>
<p>
ثبتِ هر هزینه همان لحظه که اتفاق می‌افتد، چند ثانیه بیشتر طول
نمی‌کشد؛ ولی اگر یک هفته عقب بیفتی، خیلی از ریزه‌کاری‌ها یادت
می‌رود. بعد از چند هفته می‌توانی از
<a href="/articles/nemodar-daramad-hazine-tasmim/">نمودارِ درآمد و
هزینه</a> ببینی بیشترین هزینه‌ات کجا می‌رود.
</p>
""",
},
{
"slug": "nemodar-daramad-hazine-tasmim",
"title": "نمودار درآمد و هزینه چطور به تصمیم‌گیری کمک می‌کند؟",
"meta_description": "نمودار دفتر درآمد و هزینه‌ی شاپ شیپ را برای یک بازه‌ی زمانی دلخواه ببین و بفهم درآمدت روند صعودی دارد یا نه.",
"excerpt": "یک نگاهِ بصری به روندِ درآمد و هزینه‌ات — نه فقط یک عدد خام.",
"read_minutes": 3,
"content_html": """
<p>
یک لیستِ بلند از اعداد، فهمیدنِ «آیا وضعیتم بهتر شده یا بدتر» را سخت
می‌کند. نمودار به همین درد می‌خورد — یک نگاه، و روند مشخص است.
</p>
<h2>بازه‌ی زمانیِ دلخواه</h2>
<p>
از صفحه‌ی دفترِ درآمد و هزینه، وارد نمودار شو و بازه‌ای که می‌خواهی
(یک ماه، یک فصل، یک سال) را انتخاب کن. درآمد و هزینه‌ی هر بازه کنار
هم رسم می‌شود — همان چیزی که بعدا می‌توانی به‌عنوان
<a href="/articles/csv-daftar-baraye-hesabdar/">خروجی CSV</a> هم
داشته باشی.
</p>
<h2>سوالی که نمودار جواب می‌دهد</h2>
<p>
«این ماه بهتر از ماه پیش بودم؟» یا «بعد از فعال‌کردنِ پیام گروهی،
فروشم بالا رفت؟» — این‌ها سوالاتی هستند که یک نمودارِ ساده بهتر از
یک لیستِ عددی جوابشان را می‌دهد.
</p>
""",
},
{
"slug": "kharid-nasiye-dar-daftardari",
"title": "فرق خرید نسیه و خرید نقدی در دفترداری",
"meta_description": "خرید نسیه یک نوع بدهکاریِ تو به فروشنده است، نه یک هزینه‌ی ساده — چطور شاپ شیپ این تفاوت را در دفتر نشان می‌دهد.",
"excerpt": "خرید نسیه یعنی تو بدهکارِ فروشنده‌ای — دقیقا برعکسِ فروش قسطی.",
"read_minutes": 3,
"content_html": """
<p>
مقاله‌ی <a href="/articles/forosh-ghesti-hesabdari/">فروش قسطی چطور
باید ثبت شود؟</a> نشان داد وقتی تو جنسی را قسطی می‌فروشی، مشتری به تو
بدهکار می‌شود. حالا برعکسش: وقتی تو از یک تامین‌کننده جنس نسیه
می‌خری، این‌بار خودت بدهکاری.
</p>
<h2>چرا این را جدا از هزینه‌ی نقدی ثبت کنیم</h2>
<p>
اگر خرید نسیه را همان لحظه «هزینه» حساب کنی، انگار همان لحظه پول
دادی — در حالی که ندادی. این یعنی موجودیِ نقدیِ حساب‌شده‌ات از
واقعیت بیشتر نشان داده می‌شود، دقیقا برعکسِ اشتباهی که در مقاله‌ی
<a href="/articles/tafavot-daramad-naghdi-talab/">تفاوت درآمد نقدی و
طلب</a> گفتیم.
</p>
<h2>در شاپ شیپ</h2>
<p>
دسته‌ی «خرید نسیه» را که انتخاب کنی، اپ مبلغِ کل و نام طرف‌حساب را
می‌پرسد و یک بدهیِ باز برایت می‌سازد — دقیقا هم‌خانواده‌ی همان مکانیزمِ
طلب، فقط جهتش برعکس است.
</p>
""",
},
{
"slug": "sabt-aghsat-bedehi",
"title": "چطور اقساط یک بدهی را ثبت و پیگیری کنم؟",
"meta_description": "برای هر بدهی/طلبِ باز در دفتر شاپ شیپ، هر قسطی که می‌گیری یا می‌دهی را جدا ثبت کن و مانده‌حساب خودکار کم شود.",
"excerpt": "هر قسط را جدا ثبت کن — مانده‌حساب خودش کم می‌شود، حساب‌وکتاب دستی لازم نیست.",
"read_minutes": 2,
"content_html": """
<p>
وقتی یک <a href="/articles/forosh-ghesti-hesabdari/">فروش قسطی</a>
یا <a href="/articles/kharid-nasiye-dar-daftardari/">خرید نسیه</a> در
دفترت ثبت می‌کنی، یک «مانده‌حساب» برایش ساخته می‌شود. حالا سوال این
است: وقتی هر قسط می‌رسد، چطور ثبتش کنم؟
</p>
<h2>ثبت هر قسط، جدا</h2>
<p>
روی همان ثبتِ بدهی/طلب باز کن و یک قسطِ جدید اضافه کن — مبلغ، تاریخ،
و اگر خواستی یک شماره‌ی مرجع (مثلا شماره‌ی رسید). همین که ثبت شد،
مانده‌حساب خودکار همان مقدار کم می‌شود.
</p>
<h2>وقتی مانده صفر شود</h2>
<p>
وقتی مجموعِ اقساط به کل بدهی برسد، آن ثبت دیگر در لیستِ «بدهی‌های
باز» نشان داده نمی‌شود — اما تاریخچه‌ی کاملِ اقساط همیشه قابل‌مرور
می‌ماند، برای وقتی که لازم شد به آن رجوع کنی.
</p>
""",
},
# --- خوشه‌ی فاکتور ---
{
"slug": "fatoore-chand-ghalam-kala",
"title": "فاکتور با تخفیف و مالیات چند نوع کالا چطور صادر می‌شود؟",
"meta_description": "هر قلمِ کالا در فاکتورِ شاپ شیپ می‌تواند نرخ تخفیف و مالیاتِ جدا از بقیه داشته باشد — جمعِ نهایی خودکار محاسبه می‌شود.",
"excerpt": "هر قلم کالا، تخفیف و مالیاتِ خودش را دارد — جمعِ نهایی را اپ حساب می‌کند.",
"read_minutes": 3,
"content_html": """
<p>
فرض کن یک فاکتور داری با سه قلم کالا: یکی تخفیف دارد، یکی مالیاتِ
متفاوت، و سومی هیچ‌کدام. حساب‌کردنِ دستیِ این‌ها با ماشین‌حساب، هم
وقت‌گیر است هم پرخطا.
</p>
<h2>هر قلم، تنظیماتِ خودش</h2>
<p>
وقتی کالایی را (از همان لیستِ
<a href="/articles/dastebandi-kala-anbar/">انبارت</a>) به فاکتور
اضافه می‌کنی، می‌توانی برایش یک درصد تخفیف و یک نرخ مالیات جدا از
بقیه‌ی قلم‌ها بگذاری.
</p>
<h2>جمعِ نهایی، خودکار</h2>
<p>
جمعِ کل، جمعِ مالیات، و مبلغِ تخفیف‌خورده‌ی نهایی خودش محاسبه
می‌شود — همان چیزی که در مقاله‌ی
<a href="/articles/fatoore-rasmi-baraye-maghaze/">فاکتور رسمی برای
مغازه</a> هم به اتصالش به انبار اشاره شده بود.
</p>
""",
},
{
"slug": "vaziat-fatoore-pardakht",
"title": "فرق فاکتور پرداخت‌شده و در‌انتظار پرداخت",
"meta_description": "هر فاکتور در شاپ شیپ یک وضعیت روشن دارد — پرداخت‌شده یا در‌انتظار — و همین وضعیت تعیین می‌کند دفترت و انبارت چه تغییری می‌کنند.",
"excerpt": "وضعیتِ فاکتور فقط یک برچسب نیست — تعیین می‌کند انبار و دفترت چه اتفاقی برایشان می‌افتد.",
"read_minutes": 2,
"content_html": """
<p>
یک فاکتور صرفا «صادر شدن» کافی نیست — باید بدانی پولش رسیده یا نه.
شاپ شیپ برای همین یک وضعیتِ روشن به هر فاکتور می‌دهد.
</p>
<h2>وقتی پرداخت‌شده می‌شود</h2>
<p>
همین که فاکتور را «پرداخت‌شده» علامت بزنی، دو اتفاق خودکار می‌افتد:
موجودیِ کالاهای همان فاکتور از
<a href="/articles/dastebandi-kala-anbar/">انبار</a> کم می‌شود، و اگر
نوعِ پرداخت «قسطی/نسیه» بود، یک ثبتِ طلب هم در
<a href="/articles/tafavot-daramad-naghdi-talab/">دفترت</a> ساخته
می‌شود.
</p>
<h2>وقتی هنوز در‌انتظار است</h2>
<p>
تا وضعیت پرداخت‌شده نشود، هیچ‌کدام از این دو اتفاق نمی‌افتد — یعنی
می‌توانی فاکتور را از قبل آماده کنی، بدهی به مشتری نشان دهی، و بعدا
وقتی واقعا پول رسید، وضعیتش را عوض کنی.
</p>
""",
},
{
"slug": "chera-fatoore-rasmi-mohem-ast",
"title": "چرا باید فاکتور رسمی به مشتری بدهم حتی برای فروش کوچک؟",
"meta_description": "فاکتور رسمی فقط برای فروش‌های بزرگ نیست — اعتماد، پیگیریِ اختلاف، و تاریخچه‌ی خرید مشتری، سه دلیل برای صدورِ فاکتورِ هر فروش.",
"excerpt": "فاکتور فقط کاغذ نیست — سندِ اعتماد بین تو و مشتری است.",
"read_minutes": 3,
"content_html": """
<p>
خیلی از مغازه‌دارها فقط برای فروش‌های «بزرگ» فاکتور صادر می‌کنند —
برای بقیه، یک رسیدِ دست‌نویس یا هیچی. اما فاکتورِ رسمی برای هر فروش،
چند فایده دارد که با رسیدِ دست‌نویس به‌دست نمی‌آید.
</p>
<h2>اعتماد و حرفه‌ای‌بودن</h2>
<p>
یک فاکتورِ با لوگو، حس حرفه‌ای‌تری به مشتری می‌دهد — دقیقا همان چیزی
که در <a href="/articles/fatoore-rasmi-baraye-maghaze/">فاکتور رسمی
برای مغازه</a> توضیح داده شد.
</p>
<h2>پیگیریِ اختلاف</h2>
<p>
اگر روزی مشتری بگوید «من این قیمت را ندیدم» یا «این کالا را نخریدم»،
یک فاکتورِ ثبت‌شده در اپ، فورا قابل‌نشان‌دادن است — بدون گشتن در
دفترچه‌ای که شاید گم شده باشد.
</p>
<h2>تاریخچه‌ی خرید مشتری</h2>
<p>
هر فاکتور خودکار به <a href="/articles/parvande-moshtari-chist/">پرونده‌ی
همان مشتری</a> وصل می‌شود — یعنی بعد از چند ماه می‌توانی ببینی هر
مشتری چقدر و چه چیزی خریده، بدون این‌که چیزی را دوباره تایپ کنی.
</p>
""",
},
# --- خوشه‌ی مشتریان ---
{
"slug": "parvande-moshtari-chist",
"title": "پرونده‌ی مشتری چیست و چه چیزهایی در آن ثبت می‌شود؟",
"meta_description": "پرونده‌ی هر مشتری در شاپ شیپ، تاریخچه‌ی فاکتورها و مانده‌حسابش را خودکار جمع می‌کند — بدون هیچ ثبتِ دستیِ اضافه.",
"excerpt": "تاریخچه‌ی خرید و مانده‌حساب هر مشتری، خودکار و در یک صفحه.",
"read_minutes": 2,
"content_html": """
<p>
وقتی چند ده یا چند صد مشتری داری، به‌خاطر سپردنِ این‌که هرکدام چه
خریده و چقدر بدهکار است، عملا غیرممکن می‌شود. پرونده‌ی مشتری همین
کار را برایت انجام می‌دهد.
</p>
<h2>چیزی که خودکار ساخته می‌شود</h2>
<p>
هر بار که برای یک مشتری <a href="/articles/vaziat-fatoore-pardakht/">فاکتور</a>
صادر می‌کنی یا در دفترت یک بدهی/طلب برایش ثبت می‌کنی، همه‌ی این‌ها
خودکار در پرونده‌ی همان مشتری جمع می‌شود — تو چیزی جدا وارد نمی‌کنی.
</p>
<h2>مانده‌حساب، همان‌جا</h2>
<p>
اگر مشتری‌ای <a href="/articles/modiriyat-bedehi-moshtarian/">بدهیِ
باز</a> داشته باشد، همان‌جا در پرونده‌اش می‌بینی — دیگر نیازی به گشتن
در دفتر یا فاکتورهای قدیمی نیست.
</p>
""",
},
{
"slug": "faal-sazi-mojadad-moshtarian",
"title": "چطور مشتریان قدیمی را دوباره فعال کنم؟",
"meta_description": "با پیام گروهی و لیستِ مشتریانی که مدتی خرید نکرده‌اند، یک یادآوریِ ساده بفرست و مشتریِ فراموش‌شده را برگردان.",
"excerpt": "یک پیامِ یادآوریِ ساده، بیشترِ وقت‌ها کافی است — نه تخفیفِ بزرگ.",
"read_minutes": 3,
"content_html": """
<p>
خیلی از کسب‌وکارهای کوچک انرژی‌شان را فقط صرفِ جذبِ مشتریِ تازه
می‌کنند و مشتریِ قدیمی که مدتی سراغش نرفته‌اند را فراموش می‌کنند —
در حالی که برگرداندنِ یک مشتریِ قدیمی معمولا ارزان‌تر از جذبِ تازه است.
</p>
<h2>پیدا کردنِ مشتریانِ ساکت</h2>
<p>
از <a href="/articles/parvande-moshtari-chist/">پرونده‌های مشتری</a>،
کسانی که مدتی فاکتور یا خریدی نداشته‌اند مشخص‌اند — همین لیست، شروعِ
خوبی برای یک یادآوری است.
</p>
<h2>یک قالبِ ساده کافی است</h2>
<p>
لازم نیست تخفیفِ بزرگ بدهی؛ گاهی یک
<a href="/articles/ghaleb-payam-chist/">قالبِ پیام</a> ساده مثل «دلمون
برات تنگ شده، سر بزن» با نامِ خودِ مشتری، از طریقِ
<a href="/articles/ersal-payam-be-goruh-khas/">ارسالِ گروهی</a> برایِ
همان لیست، کافی است.
</p>
""",
},
# --- خوشه‌ی انبار ---
{
"slug": "dastebandi-kala-anbar",
"title": "دسته‌بندی کالا در انبار: از کجا شروع کنم؟",
"meta_description": "برای انبارِ چند ده یا چند صد قلمی، دسته‌بندی کالا در شاپ شیپ پیدا کردن و مدیریت را چند برابر سریع‌تر می‌کند.",
"excerpt": "دسته‌های ساده مثل «نوشیدنی» یا «لبنیات» — پیدا کردن یک کالا چند برابر سریع‌تر می‌شود.",
"read_minutes": 2,
"content_html": """
<p>
اگر انبارت فقط چند قلم کالا دارد، دسته‌بندی شاید لازم نباشد. اما
همین که به چند ده قلم برسی، یک لیستِ بلندِ بی‌ترتیب پیدا کردنِ یک
کالا را کند می‌کند.
</p>
<h2>دسته‌های دلخواهت</h2>
<p>
دسته‌ها را خودت تعریف می‌کنی — چیزی که برای کسب‌وکارت معنی‌دار باشد،
نه یک قالبِ از‌قبل‌تعیین‌شده. یک سوپرمارکت شاید «نوشیدنی/لبنیات/خشکبار»
داشته باشد، یک لوازم‌یدکی‌فروشی چیزِ کاملا متفاوتی.
</p>
<h2>اثرش روی فاکتور هم هست</h2>
<p>
وقتی برای <a href="/articles/fatoore-chand-ghalam-kala/">فاکتور</a>
کالا اضافه می‌کنی، همین دسته‌بندی کمک می‌کند سریع‌تر کالای موردنظر را
پیدا کنی — به‌جای اسکرول‌کردنِ یک لیستِ طولانی.
</p>
""",
},
{
"slug": "gheymat-kharid-vs-arzesh-anbar",
"title": "فرق قیمت خرید و ارزش کل انبار",
"meta_description": "قیمت خرید هر کالا را ثبت کن تا شاپ شیپ خودش ارزشِ کلِ سرمایه‌ی خوابیده در انبارت را برایت حساب کند.",
"excerpt": "دو عدد ساده (قیمت خرید و موجودی)، یک جوابِ مهم: چقدر سرمایه در انبارت خوابیده؟",
"read_minutes": 2,
"content_html": """
<p>
«الان چقدر پول در قالبِ جنس، روی طاقچه‌های مغازه‌ام خوابیده؟» سوالی
است که خیلی از صاحبانِ مغازه دقیق جوابش را نمی‌دانند.
</p>
<h2>یک ضرب ساده، محاسبه‌شده برایت</h2>
<p>
برای هر کالا در <a href="/articles/dastebandi-kala-anbar/">انبار</a>،
قیمتِ خریدش را ثبت می‌کنی. اپ همین عدد را در موجودیِ فعلی ضرب می‌کند و
«ارزشِ کلِ انبار» را نشان می‌دهد — بدون این‌که خودت دستی جمع بزنی.
</p>
<h2>چرا این عدد مهم است</h2>
<p>
این عدد به تو می‌گوید چقدر سرمایه در جنسِ فروخته‌نشده گیر افتاده —
اطلاعاتی که برای تصمیمِ «الان جنسِ تازه بخرم یا نه» مستقیم به کار
می‌آید.
</p>
""",
},
{
"slug": "hoshdar-kambood-mojoodi",
"title": "هشدار کمبود موجودی چطور کار می‌کند؟",
"meta_description": "برای هر کالا یک آستانه‌ی «کم شد» تعریف کن — قبل از این‌که مشتری بیاید و نداشته باشی، خودت متوجه می‌شوی.",
"excerpt": "یک آستانه تعریف کن — قبل از تمام‌شدنِ واقعیِ جنس، خودت باخبر می‌شوی.",
"read_minutes": 2,
"content_html": """
<p>
یکی از بدترین حس‌ها برای یک مغازه‌دار، این است که مشتری بیاید و جنسی
که فکر می‌کردی داری، تمام شده باشد. هشدارِ کمبود دقیقا برای جلوگیری
از همین لحظه است.
</p>
<h2>آستانه‌ی دلخواهِ هر کالا</h2>
<p>
برای هر کالا در <a href="/articles/dastebandi-kala-anbar/">انبار</a>،
یک عدد به‌عنوان «کم شد» تعریف می‌کنی — مثلا وقتی موجودی به ۵ رسید.
این عدد برای هر کالا می‌تواند فرق کند.
</p>
<h2>باخبر شدن زودتر</h2>
<p>
وقتی موجودی به آن آستانه برسد، اپ نشانش می‌دهد — قبل از این‌که واقعا
صفر شود. یعنی وقت کافی برای سفارشِ جنسِ تازه داری، بدون فشارِ
لحظه‌ی‌آخری.
</p>
""",
},
# --- خوشه‌ی پیام گروهی ---
{
"slug": "ghaleb-payam-chist",
"title": "قالب پیام چیست و چطور بسازمش؟",
"meta_description": "قالب پیام یک متنِ آماده با جای‌خالیِ نام/شماره است که یک‌بار می‌سازی و بارها برای مخاطبین مختلف استفاده می‌کنی.",
"excerpt": "یک متن، با جای‌خالی برای نام — یک‌بار بساز، بارها استفاده کن.",
"read_minutes": 2,
"content_html": """
<p>
اگر هر بار که می‌خواهی پیام گروهی بفرستی، از صفر متن تایپ کنی، هم
وقت تلف می‌شود هم احتمالِ فراموش‌کردنِ چیزی بالا می‌رود. قالبِ پیام
همین مشکل را حل می‌کند.
</p>
<h2>جای‌خالیِ نام و شماره</h2>
<p>
در متنِ قالب، می‌توانی از جای‌خالی‌هایی مثل «نام» استفاده کنی — وقتی
برای هر مخاطب ارسال می‌شود، خودکار با اطلاعاتِ همان مخاطب پر می‌شود.
</p>
<h2>فیلدِ اجرا، برای مقادیرِ متغیر</h2>
<p>
اگر یک مقدار داری که از قبل معلوم نیست (مثل کد رهگیری)، قالب می‌تواند
یک <a href="/articles/field-sefareshi-dar-template/">فیلدِ اجرا</a>
هم داشته باشد — همان لحظه‌ی ارسال از تو پرسیده می‌شود.
</p>
""",
},
{
"slug": "ersal-payam-be-goruh-khas",
"title": "ارسال پیام به گروه خاصی از مشتریان",
"meta_description": "به‌جای فرستادن یک پیام به همه، فقط برای بدهکارها، مشتریانِ ساکت، یا هر گروهِ دلخواه دیگری در شاپ شیپ پیام بفرست.",
"excerpt": "همه یک پیام یکسان نمی‌خواهند — پیامِ درست را برای گروهِ درست بفرست.",
"read_minutes": 2,
"content_html": """
<p>
فرستادنِ یک پیامِ یکسان به همه‌ی مخاطبین، همیشه بهترین راه نیست —
پیامِ یادآوریِ بدهی برای بدهکارها معنی دارد، نه برای همه.
</p>
<h2>انتخاب گیرنده‌ها</h2>
<p>
قبل از ارسال، مخاطبینی که پیام برایشان می‌رود را خودت انتخاب می‌کنی —
مثلا فقط کسانی که <a href="/articles/modiriyat-bedehi-moshtarian/">بدهیِ
باز</a> دارند، یا فقط
<a href="/articles/faal-sazi-mojadad-moshtarian/">مشتریانِ مدتی
ساکت</a>.
</p>
<h2>یک قالب، گیرنده‌های متفاوت</h2>
<p>
همان <a href="/articles/ghaleb-payam-chist/">قالبِ پیام</a> که یک‌بار
ساختی، برای هر گروهی که بعدا انتخاب کنی دوباره قابل‌استفاده است —
فقط لیستِ گیرنده‌ها را عوض می‌کنی.
</p>
""",
},
{
"slug": "vaziat-tahvil-payamak",
"title": "چک کردن وضعیت تحویل پیامک‌های ارسالی",
"meta_description": "بعد از ارسال گروهی، بفهم کدام پیامک واقعا تحویل داده شده، کدام در صف مانده و کدام ناموفق بوده — همه در یک لیست.",
"excerpt": "بعد از ارسال، بفهم واقعا چند نفر پیامک را گرفتند.",
"read_minutes": 2,
"content_html": """
<p>
«آیا واقعا رسید؟» سوالی است که بعد از هر ارسالِ گروهی می‌آید — به‌خصوص
برای <a href="/articles/ghaleb-payam-chist/">قالب‌های پیام</a> مهم
مثل یادآوریِ پرداخت.
</p>
<h2>سه وضعیتِ ممکن</h2>
<p>
هر پیامکِ ارسالی یکی از این سه وضعیت را دارد: تحویل‌شده، در‌صف
(هنوز پردازش می‌شود)، یا ناموفق. لیستِ کاملِ همه‌ی ارسال‌ها، با
وضعیتِ هرکدام، در دسترس است.
</p>
<h2>وقتی چیزی ناموفق بود</h2>
<p>
اگر پیامکی به دلیلی (مثلا شماره‌ی اشتباه) ناموفق بود، می‌دانی دقیقا
چه کسی پیام را نگرفته — می‌توانی جداگانه دوباره برایش بفرستی، به‌جای
حدس‌زدن.
</p>
""",
},
{
"slug": "kodam-kanal-baraye-kodam-kasbokar",
"title": "کدام کانال برای کدام کسب‌وکار بهتر است؟",
"meta_description": "فروشگاه، آنلاین‌شاپ، یا کسب‌وکار خدماتی — هرکدام معمولا با یک ترکیبِ متفاوت از پیامک/واتساپ/تلگرام بهتر جواب می‌گیرند.",
"excerpt": "نوعِ کسب‌وکارت مشخص می‌کند کدام کانال بیشترین اثر را دارد.",
"read_minutes": 3,
"content_html": """
<p>
مقاله‌ی <a href="/articles/sms-ya-whatsapp-business/">پیامک یا
واتساپ‌بیزینس؟</a> تفاوتِ فنیِ کانال‌ها را توضیح داد. این‌جا می‌خواهیم
ببینیم کدام کسب‌وکار معمولا کدام ترکیب را بیشتر لازم دارد.
</p>
<h2>فروشگاه‌های محلی</h2>
<p>
برای اعلامِ موجودیِ روزانه یا تخفیف، پیامک قابل‌اطمینان‌ترین است —
همه به آن دسترسی دارند، حتی بدون اینترنت.
</p>
<h2>آنلاین‌شاپ‌های کوچک</h2>
<p>
اطلاع‌رسانیِ <a href="/articles/tartib-marahel-sefaresh/">مراحلِ
سفارش</a> معمولا با پیامک بهتر جواب می‌دهد، چون مشتری منتظرِ خبرِ
«ارسال شد» است و نمی‌خواهد وابسته به بازکردنِ یک اپ خاص باشد.
</p>
<h2>کسب‌وکارهای خدماتی</h2>
<p>
برای ارتباطِ دوطرفه‌تر (سوال‌وجواب با مشتری)، واتساپ یا تلگرام معمولا
راحت‌تر است — به‌شرطی که مسیرِ رسمیِ هرکدام رعایت شود.
</p>
""",
},
# --- خوشه‌ی پیگیری سفارش ---
{
"slug": "tartib-marahel-sefaresh",
"title": "جابه‌جا کردن ترتیب مراحل سفارش با کشیدن و رها کردن",
"meta_description": "مراحلِ پیگیری سفارش در شاپ شیپ ثابت نیستند — با کشیدن و رها کردن، ترتیبشان را دقیقا مطابق جریان کاریِ واقعیت تنظیم کن.",
"excerpt": "ترتیبِ مراحل، دقیقا مطابقِ جریانِ کاریِ واقعیِ خودت — با یک کشیدن و رها کردن.",
"read_minutes": 2,
"content_html": """
<p>
همان‌طور که در مقاله‌ی
<a href="/articles/peygiri-sefaresh-online-shop-etemad/">پیگیری سفارش
آنلاین‌شاپ</a> گفتیم، مراحلِ کار را خودت تعریف می‌کنی. اما گاهی بعد از
مدتی می‌فهمی ترتیبِ اولیه دقیق نبوده.
</p>
<h2>کشیدن و رها کردن</h2>
<p>
از صفحه‌ی مراحلِ سفارش، هر مرحله را می‌توانی بگیری و به جای درست
بکشی — بدون نیاز به حذف و ساختِ دوباره. مثلا اگر «بسته‌بندی» را قبل
از «آماده‌سازی» گذاشته بودی، فقط جابه‌جایش کن.
</p>
<h2>تغییر ترتیب، تاثیری روی سفارش‌های قبلی ندارد</h2>
<p>
سفارش‌هایی که از قبل در یک مرحله بودند، همان‌جا می‌مانند — تغییرِ
ترتیب فقط روی مسیرِ سفارش‌های بعدی اثر می‌گذارد.
</p>
""",
},
{
"slug": "payam-mokhtalef-har-marhale",
"title": "چطور برای هر مرحله‌ی سفارش پیامک متفاوت بفرستم؟",
"meta_description": "هر مرحله‌ی پیگیری سفارش در شاپ شیپ به یک قالبِ پیام جداگانه وصل می‌شود — «آماده شد» یک متن، «ارسال شد» متنی دیگر.",
"excerpt": "هر مرحله، قالبِ پیامِ خودش را دارد — نه یک متنِ یکسان برای همه‌جا.",
"read_minutes": 2,
"content_html": """
<p>
یک پیامِ یکسان برای «سفارشت آماده شد» و «سفارشت تحویل داده شد»
منطقی نیست — هرکدام باید خبرِ متفاوتی بدهند.
</p>
<h2>هر مرحله، یک قالب</h2>
<p>
وقتی <a href="/articles/tartib-marahel-sefaresh/">یک مرحله</a>
می‌سازی، همان‌جا یک <a href="/articles/ghaleb-payam-chist/">قالبِ
پیام</a> برایش انتخاب می‌کنی — می‌تواند برای هر مرحله کاملا متفاوت
باشد.
</p>
<h2>وقتی مرحله فیلدِ اجرا دارد</h2>
<p>
برای مرحله‌ای مثل «ارسال شد» که یک کدِ رهگیری لازم دارد، قالبِ همان
مرحله می‌تواند <a href="/articles/field-sefareshi-dar-template/">فیلدِ
اجرا</a> داشته باشد — همان لحظه از تو پرسیده و در پیامک جای می‌شود.
</p>
""",
},
# --- خوشه‌ی راهنمای عمومی/آشناسازی ---
{
"slug": "behtarin-estefade-az-hafte-raygan",
"title": "یک هفته‌ی رایگان شاپ شیپ را چطور بهترین استفاده را ببرم؟",
"meta_description": "راهنمای هفت‌روزه: چه کارهایی در هفته‌ی رایگانِ شاپ شیپ انجام بده تا قبل از هر تصمیمِ پرداختی، ارزشِ واقعیِ اپ را ببینی.",
"excerpt": "هفت روز، هفت قدمِ کوچک — تا قبل از هر تصمیم پرداختی، ارزشِ واقعی را ببینی.",
"read_minutes": 3,
"content_html": """
<p>
یک هفته زمانِ کمی است، ولی برای فهمیدنِ این‌که شاپ شیپ واقعا به‌دردت
می‌خورد یا نه، کافی است — اگر درست ازش استفاده کنی.
</p>
<h2>روزهای اول: داده‌های واقعی</h2>
<p>
به‌جای امتحان‌کردنِ با داده‌ی الکی، از همین روزِ اول
<a href="/articles/dastebandi-kala-anbar/">چند کالای واقعیِ انبارت</a>
و <a href="/articles/merge-mokhatebin-ganoshi/">چند مخاطبِ
واقعی</a> را وارد کن.
</p>
<h2>وسط هفته: یک فاکتور و یک پیام واقعی</h2>
<p>
یک <a href="/articles/chera-fatoore-rasmi-mohem-ast/">فاکتورِ واقعی</a>
برای یک فروشِ واقعی بزن، و یک قالبِ پیام بساز و برایِ چند مشتریِ
واقعی بفرست.
</p>
<h2>آخر هفته: مرور</h2>
<p>
به دفترِ درآمد و هزینه‌ات نگاه کن — همان چیزی که در این هفته ثبت شده،
تصویرِ کوچکی از این است که یک ماهِ کامل با شاپ شیپ چه شکلی خواهد بود.
</p>
""",
},
{
"slug": "amniat-etelaat-kasbokar",
"title": "امنیت اطلاعات کسب‌وکارت در شاپ شیپ",
"meta_description": "قفل اثرانگشت، دیتای اختصاصی هر کاربر، و این‌که چرا اطلاعاتِ مالی و مشتریانِ تو فقط مالِ خودت است.",
"excerpt": "قفل اثرانگشت روی اطلاعاتِ حساس، و دیتایی که فقط مالِ خودت است.",
"read_minutes": 2,
"content_html": """
<p>
اطلاعاتِ مالی و لیستِ مشتریانِ یک کسب‌وکار، از حساس‌ترین چیزهایی است
که روی گوشیِ کسی می‌تواند باشد — به همین دلیل امنیت اینجا جدی گرفته
شده.
</p>
<h2>قفل اثرانگشت</h2>
<p>
می‌توانی ورود به بخش‌های حساس (مثل
<a href="/articles/tafavot-daramad-naghdi-talab/">دفتر درآمد و
هزینه</a>) را پشتِ قفلِ اثرانگشتِ گوشی‌ات بگذاری — حتی اگر کسی
گوشی‌ات را باز کند، به این بخش‌ها بدون اثرانگشتِ خودت دسترسی ندارد.
</p>
<h2>دیتای تو، مالِ خودت</h2>
<p>
اطلاعاتِ کسب‌وکارِ هر کاربر کاملا از بقیه جدا است — چیزی بینِ
حساب‌های مختلف به اشتراک گذاشته نمی‌شود.
</p>
""",
},
{
"slug": "taghvim-shamsi-dar-narmafzar",
"title": "تقویم شمسی در نرم‌افزارهای کسب‌وکار چرا مهم است؟",
"meta_description": "تاریخِ میلادی در نرم‌افزارهای مالی، محاسبه‌ی سررسیدها و مرورِ گزارش‌ها را برای کاربر فارسی‌زبان سخت‌تر می‌کند — شاپ شیپ همه‌جا شمسی است.",
"excerpt": "وقتی سررسیدِ قسط یا تاریخِ فاکتور را می‌بینی، باید همان لحظه معنی‌اش را بفهمی — نه تبدیل کنی.",
"read_minutes": 2,
"content_html": """
<p>
خیلی از نرم‌افزارهای مالی و حسابداری با تاریخِ میلادی کار می‌کنند —
و کاربرِ فارسی‌زبان باید در ذهنش تبدیل کند. این تبدیلِ ذهنی، هرچقدر
هم سریع، یک لایه‌ی اضافه‌ی خستگی است.
</p>
<h2>همه‌جا شمسی</h2>
<p>
از تاریخِ <a href="/articles/vaziat-fatoore-pardakht/">فاکتور</a> تا
سررسیدِ <a href="/articles/sabt-aghsat-bedehi/">اقساط</a> تا
<a href="/articles/nemodar-daramad-hazine-tasmim/">نمودارِ دفتر</a>،
همه‌جا با تقویمِ شمسی نمایش داده می‌شود.
</p>
<h2>یعنی چه در عمل</h2>
<p>
وقتی می‌بینی «سررسید ۱۵ مهر»، همان لحظه معنایش را می‌فهمی — بدون
این‌که مجبور باشی محاسبه کنی امروز چندمِ میلادی است و چند روز مانده.
</p>
""",
},
{
"slug": "jam-chist-chetor-kar-mikonad",
"title": "جم چیست و چطور برای فعال‌سازی ابزارها استفاده می‌شود؟",
"meta_description": "شاپ شیپ به‌جای اشتراکِ همه‌یا‌هیچ، هر بخش را جدا با «جم» فعال می‌کند — جم چطور خریداری و خرج می‌شود.",
"excerpt": "به‌جای اشتراکِ همه‌یا‌هیچ، هر بخش را جدا، فقط با جم، فعال می‌کنی.",
"read_minutes": 2,
"content_html": """
<p>
خیلی از نرم‌افزارها یک اشتراکِ ثابت می‌فروشند که شاملِ همه‌ی
امکانات است — حتی آن‌هایی که لازم نداری. شاپ شیپ این مدل را عوض
کرده.
</p>
<h2>جم چیست</h2>
<p>
جم واحدِ داخلیِ شاپ شیپ برای فعال‌سازیِ بخش‌هاست — فاکتور، پیام
گروهی، دفتر، انبار، هرکدام قیمتِ جداگانه‌ای به جم دارند.
</p>
<h2>از کجا جم بگیرم</h2>
<p>
جم را از فروشگاهِ داخلِ اپ می‌خری، یا از راهِ
<a href="/articles/davat-doostan-refferal/">دعوتِ دوستان</a> به‌عنوانِ
پاداش دریافت می‌کنی. هر بخش را فقط برایِ مدتی که واقعا لازمش داری
فعال می‌کنی — تمدیدِ اجباری وجود ندارد.
</p>
""",
},
{
"slug": "davat-doostan-refferal",
"title": "دعوت دوستان و پاداش معرفی در شاپ شیپ",
"meta_description": "کد معرفِ خودت را با یک صاحب کسب‌وکار دیگر به اشتراک بگذار — هر دو نفر جم پاداش می‌گیرید که می‌شود برای فعال‌سازیِ ابزارها خرج کرد.",
"excerpt": "کدِ معرفت را با یک صاحب کسب‌وکارِ دیگر به اشتراک بگذار — هر دو برنده می‌شوید.",
"read_minutes": 2,
"content_html": """
<p>
اگر یک صاحب کسب‌وکارِ دیگر را می‌شناسی که ممکن است شاپ شیپ به دردش
بخورد، معرفیِ او هم به نفعِ او هم به نفعِ خودت است.
</p>
<h2>چطور کار می‌کند</h2>
<p>
کدِ معرفِ خودت را (از پروفایلِ خودت در اپ) با او به اشتراک بگذار.
وقتی او با همان کد ثبت‌نام و فعالیتِ واقعی را شروع کند، هر دوی شما
<a href="/articles/jam-chist-chetor-kar-mikonad/">جمِ پاداش</a>
می‌گیرید.
</p>
<h2>خرجِ جمِ پاداش</h2>
<p>
جمی که از این راه می‌گیری، دقیقا مثلِ جمِ خریداری‌شده است — می‌توانی
با آن هر بخشی از اپ (فاکتور، پیام گروهی، دفتر) را برای مدتی فعال
کنی، بدون پرداختِ پول.
</p>
""",
},
{
"slug": "kasbokar-khord-chist",
"title": "کسب‌وکار خرد چیست و چه نرم‌افزارهایی واقعا به دردش می‌خورد؟",
"meta_description": "یک مغازه‌ی یک‌نفره یا یک آنلاین‌شاپِ کوچک، نیازِ نرم‌افزاریِ متفاوتی از یک شرکتِ بزرگ دارد — چرا سادگی مهم‌تر از قابلیت‌های زیاد است.",
"excerpt": "کسب‌وکارِ یک یا دو‌نفره، نیازِ نرم‌افزاریِ متفاوتی از یک شرکتِ بزرگ دارد.",
"read_minutes": 3,
"content_html": """
<p>
«کسب‌وکار خرد» یعنی معمولا یک یا چند نفر، بدونِ بخشِ IT جدا، بدونِ
وقتِ زیاد برای یادگیریِ نرم‌افزارِ پیچیده. نیازهایش با یک شرکتِ
بزرگ خیلی فرق دارد.
</p>
<h2>چرا نرم‌افزارِ شرکت‌های بزرگ جواب نمی‌دهد</h2>
<p>
نرم‌افزارهایی که برای تیمِ حسابداریِ چندنفره طراحی شده‌اند، پر از
تنظیماتی هستند که یک مغازه‌دارِ تنها هیچ‌وقت لازمشان ندارد — و همین
پیچیدگی باعث می‌شود اصلا استفاده نشود.
</p>
<h2>چه چیزی واقعا لازم است</h2>
<p>
چیزهایی مثل <a href="/articles/chera-fatoore-rasmi-mohem-ast/">فاکتورِ
ساده</a>، <a href="/articles/sabt-hazine-rozane-maghaze/">ثبتِ
هزینه‌ی روزمره</a>، و <a href="/articles/ghaleb-payam-chist/">پیامِ
گروهیِ ساده</a> — نه گزارش‌های پیچیده‌ای که هیچ‌وقت باز نمی‌شوند.
</p>
""",
},
{
"slug": "checklist-rahandazi-maghaze",
"title": "چک‌لیست راه‌اندازی یک مغازه‌ی کوچک با موبایل",
"meta_description": "از ثبتِ اولین کالا تا صدور اولین فاکتور — چک‌لیستِ قدم‌به‌قدمِ راه‌اندازیِ مدیریتِ یک مغازه‌ی کوچک با شاپ شیپ.",
"excerpt": "از اولین کالا تا اولین فاکتور — یک چک‌لیستِ قدم‌به‌قدم.",
"read_minutes": 3,
"content_html": """
<p>
شروعِ مدیریتِ یک مغازه با یک اپِ جدید، اگر قدم‌به‌قدم نباشد، گیج‌کننده
می‌شود. این چک‌لیست، ترتیبِ پیشنهادی است.
</p>
<h2>قدم اول: انبار</h2>
<p>
چند کالای پرتکرارت را با
<a href="/articles/dastebandi-kala-anbar/">دسته‌بندی</a> و قیمتِ خرید
وارد کن — نیازی نیست همه را یک‌جا وارد کنی، می‌توانی کم‌کم اضافه کنی.
</p>
<h2>قدم دوم: چند مشتریِ ثابت</h2>
<p>
اگر مشتریانِ ثابت داری، آن‌ها را با
<a href="/articles/merge-mokhatebin-ganoshi/">وارد‌کردن از
مخاطبینِ گوشی</a> اضافه کن.
</p>
<h2>قدم سوم: اولین فاکتور</h2>
<p>
برای یک فروشِ واقعی،
<a href="/articles/fatoore-chand-ghalam-kala/">اولین فاکتورت</a> را
بزن — از همین‌جا می‌بینی چطور فاکتور، انبار، و دفترت به هم وصل
می‌شوند.
</p>
<h2>قدم چهارم: اولین پیامِ گروهی</h2>
<p>
یک <a href="/articles/ghaleb-payam-chist/">قالبِ پیام</a> ساده بساز و
برای همان چند مشتری بفرست — تمام.
</p>
""",
},
{
"slug": "shopship-vs-excel",
"title": "تفاوت شاپ شیپ با اکسل برای مدیریت کسب‌وکار",
"meta_description": "اکسل رایگان است ولی محاسبه، یادآوری، و اتصالِ خودکارِ بین فاکتور/انبار/دفتر را ندارد — مقایسه‌ای صادق بین دو رویکرد.",
"excerpt": "اکسل رایگان است، ولی چیزهایی را خودکار نمی‌کند که هر روز وقتت را می‌گیرد.",
"read_minutes": 3,
"content_html": """
<p>
اکسل ابزارِ قدرتمندی است و خیلی از کسب‌وکارهای کوچک سال‌ها با آن کار
کرده‌اند. سوال این نیست که اکسل بد است — سوال این است که چه چیزی
اکسل به‌طورِ پیش‌فرض برایت انجام نمی‌دهد.
</p>
<h2>اتصالِ خودکار بین بخش‌ها</h2>
<p>
در اکسل، وقتی فاکتور می‌زنی باید جداگانه هم
<a href="/articles/hoshdar-kambood-mojoodi/">موجودیِ انبار</a> را کم
کنی، هم <a href="/articles/tafavot-daramad-naghdi-talab/">دفترت</a>
را به‌روز کنی — سه کار برای یک فروش. در شاپ شیپ این‌ها خودکار به هم
وصل‌اند.
</p>
<h2>یادآوری و پیام، بدونِ ابزارِ جدا</h2>
<p>
اکسل نمی‌تواند برایت پیامک بفرستد. برای
<a href="/articles/faal-sazi-mojadad-moshtarian/">یادآوریِ مشتری</a>
یا هشدارِ کمبودِ موجودی، باز باید ابزارِ جدا داشته باشی.
</p>
<h2>وقتی اکسل هنوز کافی است</h2>
<p>
اگر فقط چند فروش در هفته داری و هیچ‌وقت نیاز به پیام گروهی یا
پیگیریِ بدهی نداری، شاید اکسل هنوز جواب بدهد. اما همین که کسب‌وکارت
رشد کند، این محاسبات و یادآوری‌های دستی، وقتِ زیادی می‌گیرند.
</p>
""",
},
{
"slug": "yek-app-bejaye-chand-narmafzar",
"title": "چطور از یک اپ واحد به‌جای چند نرم‌افزار جدا استفاده کنم؟",
"meta_description": "به‌جای یک اپ برای فاکتور، یک اپ برای پیامک، و یک دفترچه برای حساب‌وکتاب، همه را در شاپ شیپ یک‌جا داشته باش.",
"excerpt": "فاکتور، پیام، انبار، دفتر — همه یک‌جا، و به‌هم وصل.",
"read_minutes": 3,
"content_html": """
<p>
خیلی از کسب‌وکارهای کوچک بدونِ این‌که تصمیمِ آگاهانه‌ای گرفته باشند،
سرِ آخر با پنج ابزارِ جدا کار می‌کنند: یک اپ برای فاکتور، یکی برای
پیامک، یک دفترچه برای حساب، و اکسلِ انبار.
</p>
<h2>مشکلِ اصلیِ ابزارهای جدا</h2>
<p>
هیچ‌کدام از این ابزارها با هم حرف نمی‌زنند — یعنی هر فروش را باید سه
یا چهار بار جدا ثبت کنی. همان‌طور که در مقاله‌ی
<a href="/articles/shopship-vs-excel/">تفاوتِ شاپ شیپ با اکسل</a>
گفتیم، همین دوباره‌کاری‌هاست که وقتِ زیادی می‌گیرد.
</p>
<h2>وقتی همه‌چیز یک‌جاست</h2>
<p>
یک <a href="/articles/vaziat-fatoore-pardakht/">فاکتور</a> که
پرداخت می‌شود، خودش انبار و دفتر را به‌روز می‌کند. یک
<a href="/articles/parvande-moshtari-chist/">مشتری</a> که فاکتور
می‌گیرد، خودش پرونده‌اش ساخته می‌شود. کارِ کمتر، خطای کمتر.
</p>
<h2>شروعِ آسان</h2>
<p>
نیازی نیست همه‌چیز را یک‌جا شروع کنی — می‌توانی از
<a href="/articles/checklist-rahandazi-maghaze/">چک‌لیستِ
راه‌اندازی</a> شروع کنی و کم‌کم بخش‌های دیگر را اضافه کنی.
</p>
""",
},
]
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),
]