الگوی فروش قرارداد های پیمانکاری راهنمای ارسال صورتحساب الکترونیکی
🏗️🧾 الگوی فروش قرارداد های پیمانکاری در سامانه مودیان ۱۴۰۴ (۱۸ نکته طلایی برای صورتوضعیتها) مخصوص زمانی است که فروش شما «یک پروژه» است، نه یک کالا روی قفسه. در پیمانکاری، پول معمولاً یکباره جابهجا نمیشود؛ مرحلهای، بر اساس صورتوضعیت، با کسورات، با پیشپرداخت و گاهی با تعدیل جلو میرود. برای همین، اگر همان ذهنیت “فروش کالا و خدمات” را عیناً روی پیمانکاری پیاده کنید، خیلی زود به اختلاف عددی، اصلاحهای تکراری و دعوای حسابداری میخورید.
فهرست مطالب
Toggleنکته خیلی مهم: در پیمانکاری، «شرح درست» به اندازه «عدد درست» اهمیت دارد؛ چون هر عدد باید به یک مرحله، یک صورتوضعیت و یک بند قراردادی وصل باشد.

وقتی شما پیمانکار هستید و کارفرما در طول پروژه از شما صورتوضعیت میخواهد، شما عملاً در حال “فروش مرحلهای خدمت” هستید. اما این فروش مرحلهای یک تفاوت بزرگ دارد:
هر مرحله یک داستان دارد: چه کاری انجام شده؟ بر چه مبنایی تأیید شده؟ چه کسوراتی کم شده؟ چه مبلغی قابل پرداخت شده؟ و چه بخشی برای حسن انجام کار یا تضمین نگه داشته شده؟
الگوی فروش قرارداد های پیمانکاری کمک میکند صورتحسابهای شما:
مرحلهای و قابل پیگیری باشد،
به قرارداد و صورتوضعیت وصل بماند،
و از نظر جمعبندی مالی، شفاف و قابل دفاع باشد.
یک جمله ساده: پیمانکاری یعنی فروش شما «پروژهمحور» است، نه «فاکتورمحور».
⏳ فرصت را از دست ندهید! همین حالا ارسال صورتحساب الکترونیکی مودیان را آغاز کنید ⚡

در فروش معمولی، شما معمولاً این مسیر را دارید:
کالا/خدمت → مقدار/قیمت → مالیات → مبلغ نهایی → پرداخت.
اما در پیمانکاری، مسیر غالباً این است:
قرارداد → پیشپرداخت (گاهی) → اجرای مرحلهای → صورتوضعیت → کسورات → پرداخت مرحلهای → تسویه نهایی.
این تفاوت، چند نتیجه عملی دارد:
عددها مرحلهای هستند و جمع نهایی پروژه بعداً کامل میشود.
کسورات مثل حسن انجام کار و سایر کسورات، اعداد مهمی هستند و نباید قاطی مبلغ اصلی شوند.
توضیحات و ارجاعات (مثل شماره قرارداد، شماره صورتوضعیت، دوره/مرحله) نقش کلیدی دارند.
هشدار دوستانه: اگر پیمانکاری را مثل فاکتور فروش عادی ثبت کنید، معمولاً یا کارفرما به شما برگشت میزند، یا در پایان پروژه خودتان در جمعبندی به مشکل میخورید.
برای اجرای درست، شما باید قبل از صدور هر صورتحساب، قرارداد را به اجزای قابل ثبت تبدیل کنید. اجزای پرتکرار:
موضوع قرارداد (چه کاری، کجا، با چه حدودی)
مبلغ/مبالغ قرارداد (مقطوع، فهرستبهایی، یا ترکیبی)
مدت و برنامه زمانی (شروع، پایان، مراحل)
نحوه پرداخت (مرحلهای، ماهانه، درصد پیشرفت)
پیشپرداخت (اگر وجود دارد)
کسورات (مثل حسن انجام کار، بیمه، موارد توافقی)
تعدیل و مابهالتفاوت (اگر قرارداد چنین سازوکاری دارد)
صورتوضعیتها (موقت، قطعی، نهایی)
نتیجه: هرچه این اجزا برای تیم مالی شما واضحتر باشد، صورتحسابها تمیزتر صادر میشود.

صورتوضعیت یعنی گزارش مالیِ کار انجامشده در یک بازه یا مرحله.
در عمل، خیلی از پیمانکارها صورتحساب را بر اساس “صورتوضعیت تأییدشده” صادر میکنند. پس اگر صورتوضعیت شما:
شماره نداشته باشد،
تاریخ و دوره نداشته باشد،
ریزکارها و مبلغهایش شفاف نباشد،
صورتحساب هم لق میشود و بعداً به اختلاف میخورد.
نکته کاربردی: بهترین کار این است که از همان اول، یک روش شمارهگذاری ثابت برای صورتوضعیتها داشته باشید (مثلاً ۰۱، ۰۲، ۰۳… یا ماهانه).
در پیمانکاری، علاوه بر فروشنده و خریدار، ما با نقشهای پروژهای هم روبهرو هستیم:
کارفرما: کسی که پروژه را سفارش داده و پرداخت را انجام میدهد.
پیمانکار: اجراکننده اصلی قرارداد و صادرکننده صورتوضعیت.
پیمان جزء (پیمانکار فرعی): اجراکننده بخشی از کار که ممکن است برای پیمانکار اصلی صورتوضعیت بدهد.
خطای رایج این است که تیمها نقشها را قاطی میکنند؛ مخصوصاً وقتی پیمانکار اصلی، از پیمان جزء خرید خدمت میکند.
✅ پیشنهاد اجرایی:
برای هر پروژه، یک شناسنامه داخلی بسازید که در آن دقیقاً نوشته شود:
کارفرما کیست؟ پیمانکار اصلی کیست؟ پیمان جزءها چه کسانی هستند؟

این ۱۸ نکته را مثل یک نقشه راه نگه دارید. بخشهای بعدی همینها را عمیقتر میکند:
شماره/عنوان قرارداد را ثابت و یکدست ثبت کنید.
برای هر پروژه یک کد داخلی داشته باشید تا اشتباه بین پروژهها کم شود.
صورتوضعیتها را شمارهگذاری کنید و به همان شماره وفادار بمانید.
بازه یا مرحله صورتوضعیت را مشخص کنید (ماه/مرحله).
مبلغهای صورتوضعیت را با تأیید کارفرما قطعی کنید، بعد صورتحساب بزنید.
پیشپرداخت را با “مبلغ کارکرد” قاطی نکنید.
کسورات را جدا نگه دارید؛ جمعبندی تمیز میشود.
حسن انجام کار را جدا ثبت کنید؛ این عدد در پایان پروژه حیاتی است.
تعدیل و مابهالتفاوت را فقط وقتی اعمال کنید که مبنای قراردادیاش روشن است.
شرح ردیفها را پروژهای بنویسید، نه کلی و مبهم.
اگر قرارداد فهرستبهایی است، ریز آیتمها و واحدها را جدیتر بگیرید.
اگر قرارداد مقطوع است، مرحله/درصد پیشرفت را دقیق توضیح دهید.
یک کنترل داخلی بگذارید: “کارکرد تجمیعی” با “پرداختهای قبلی” بخواند.
پرداخت مرحلهای را به دورههای مالی خودتان وصل کنید تا اختلاف حسابداری کم شود.
از صدور شتابزده قبل از تأیید صورتوضعیت فرار کنید.
برای هر تغییر قرارداد، الحاقیه را در پرونده نگه دارید و اثرش را در اعداد گم نکنید.
اصلاحها را تکنفره و کنترلشده انجام دهید (نه چند نفره).
در پایان پروژه، تسویه نهایی را با نگاه به حسن انجام کار و کسورات جمع کنید.
یادآوری: پیمانکاری یعنی “ردیابیپذیری”. هر چیزی که ردیابی را سخت کند، ریسک شما را بالا میبرد.

اگر میخواهید از همان اول جلوی اصلاحهای تکراری را بگیرید، این اشتباهها را تکرار نکنید:
صدور صورتحساب بدون اینکه صورتوضعیت قطعی شده باشد
قاطی کردن پیشپرداخت با کارکرد دوره
ثبت کسورات داخل مبلغ اصلی (بدون تفکیک)
نداشتن شمارهگذاری ثابت برای صورتوضعیتها
نوشتن شرحهای مبهم مثل “خدمات پروژه”
جابهجا شدن پروژهها به خاطر نبود کد/شناسه داخلی
هشدار: در پیمانکاری، اشتباه کوچک امروز، اختلاف بزرگ در تسویه نهایی فرداست.
📣اگر همزمان چند پروژه دارید یا چند نفر در تیم شما صورتحساب صادر میکنند، همین امروز این کار ساده را انجام دهید:
یک فرم کنترل قبل از صدور صورتحساب پیمانکاری بسازید که بدون آن، ارسال انجام نشود:
شماره قرارداد ✅
شماره صورتوضعیت ✅
دوره/مرحله ✅
تفکیک کارکرد/پیشپرداخت/کسورات ✅
کنترل جمع نهایی ✅
در بخش اول یاد گرفتیم:
الگوی فروش قرارداد های پیمانکاری برای فروشهای پروژهای و مرحلهای است.
پیمانکاری با فروش معمولی فرق دارد چون صورتوضعیت، کسورات و پرداخت مرحلهای دارد.
اجزای قرارداد باید به اجزای قابل ثبت تبدیل شود: صورتوضعیت، پیشپرداخت، کسورات، حسن انجام کار، تعدیل.
۱۸ نکته طلایی برای شروع درست داریم که مهمترینشان: شمارهگذاری ثابت، تفکیک مبالغ، و کنترل قبل از ارسال است.
💼✅در بخشهای قبلی گفتیم پیمانکاری “پروژهمحور” است و باید هر عدد به یک مرحله و یک سند قابل ردیابی وصل باشد.
حالا، میرویم سراغ قلب اعداد پیمانکاری: صورتوضعیت، پیشپرداخت، کسورات، حسن انجام کار، تعدیل و جمعبندیهای مالی.
اگر این بخش را درست پیاده کنید، ۸۰٪ اختلافهای عددی بین شما و کارفرما، قبل از اینکه تبدیل به تماس و اصلاح شود، همان اول حل میشود. چون اغلب دعواهای پیمانکاری از «قاطی شدن ماهیت اعداد» میآید؛ نه از غلط ریاضی.
نکته خیلی مهم: در پیمانکاری، “مبلغ کارکرد” با “مبلغ قابل پرداخت” یکی نیست. بین این دو، چند لایه کموزیاد داریم که اگر شفاف نباشد، صورتوضعیت شما همیشه در معرض برگشت است.
صورتوضعیت یعنی گزارش مالیِ کار انجامشده در یک بازه یا مرحله.
اما در عمل، صورتوضعیت فقط یک عدد نیست؛ یک بسته اطلاعاتی است که باید نشان بدهد:
چه کارهایی انجام شده؟
با چه مبنایی (پیمان مقطوع/فهرستبهایی/ترکیبی)؟
میزان کارکرد این دوره چقدر است؟
کارکرد تجمعی تا اینجا چقدر شده؟
چه کسوراتی اعمال شده؟
خالص قابل پرداخت چقدر است؟
اگر صورتوضعیت شما این اجزا را نداشته باشد، کارفرما معمولاً میگوید:
«این سند توضیح ندارد، برگردان تا شفافش کنی.»
✅ پیشنهاد اجرایی:
صورتوضعیت را به چشم «اسکلت پروژه» ببینید؛ هر چقدر اسکلت دقیقتر باشد، بقیه چیزها روی آن درست مینشیند.
برای اینکه صورتوضعیت شما حرفهای و کمخطا باشد، بهتر است این ساختار را رعایت کنید:
شماره قرارداد
شماره صورتوضعیت
دوره/مرحله (مثلاً ماه اول، مرحله دوم، بازه تاریخ)
پروژه/محل اجرا
مبلغ کارکرد این دوره
مبلغ کارکرد تجمعی
مبلغ کارکرد دورههای قبل (برای کنترل)
کسورات قراردادی یا قانونی
حسن انجام کار
سایر نگهداشتها یا کسورات توافقی (در صورت وجود)
پیشپرداختهای دریافتشده یا تهاتر شده
پرداختهای قبلی
خالص قابل پرداخت این دوره
جمع کل
توضیحات و ملاحظات (به زبان ساده و کوتاه)
نکته: این مدل باعث میشود تیم مالی شما، کارفرما، و حتی حسابرس، همه یک زبان مشترک داشته باشند.

مبلغ کارکرد این دوره یعنی ارزش کار انجامشده در همین مرحله.
در قراردادهای مختلف، این عدد با منطقهای مختلف تولید میشود:
مقطوع: بر اساس درصد پیشرفت یا تحویل مرحلهای
فهرستبهایی: بر اساس ریز آیتمها (مقدار × نرخ)
ترکیبی: بخشی مقطوع، بخشی فهرستبهایی
اشتباهات پرتکرار:
صدور صورتوضعیت قبل از تأیید ناظر/کارفرما
اختلاف بین گزارش اجرایی پروژه و عدد مالی
گرد کردنهای بیمنطق (که بعداً در تجمعی، اختلاف میسازد)
✅ راهکار اجرایی:
یک قانون داخلی بگذارید: «عدد کارکرد فقط بعد از تأیید صورتوضعیت قطعی میشود.»
اگر تأیید زمانبر است، به جای حدس، صبر کنید؛ اصلاح بعدی گرانتر است.
کارکرد تجمعی یعنی جمع کارکرد از شروع پروژه تا امروز.
این عدد خیلی مهم است چون:
نشان میدهد پروژه تا چه حد جلو رفته
مبنای مقایسه با پرداختهای قبلی است
جلوی “دوبار حساب شدن” یا “جا افتادن” را میگیرد
اشتباه رایج:
کارکرد تجمعی را در سیستم درست نگه نمیدارند
یا هر واحد یک عدد دارد (کارگاه یک عدد، مالی یک عدد!)
✅ کنترل طلایی:
کارکرد تجمعی = کارکرد قبلی + کارکرد این دوره
همین یک کنترل ساده، خیلی از اختلافها را قبل از ارسال پیدا میکند.
نتیجه: اگر کارکرد تجمعی درست باشد، پایان پروژه کمتر تبدیل به کابوس میشود.

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

حسن انجام کار معمولاً درصدی از هر صورتوضعیت است که کارفرما نگه میدارد تا مطمئن شود پروژه درست تحویل میشود.
این مبلغ “هزینه” نیست؛ یک نوع نگهداشت است.
اشتباهات پرتکرار:
حسن انجام کار را هزینه حساب میکنند
مانده حسن انجام کار را در پایان پروژه فراموش میکنند
در صورتوضعیتهای مختلف نرخ/درصد را یکسان و کنترلنشده اعمال میکنند
✅ روال حرفهای:
برای حسن انجام کار یک حساب/ردیف مشخص داشته باشید.
مانده حسن انجام کار را “تجمعی” نگه دارید.
هنگام تحویل موقت/قطعی، آزادسازی آن را جداگانه پیگیری کنید.
نکته مهم: اگر حسن انجام کار را از همان اول درست ردیابی نکنید، در انتهای پروژه معمولاً یک عدد قابل توجه “گم” میشود.
⏳ فرصت را از دست ندهید! همین حالا ارسال صورتحساب الکترونیکی مودیان را آغاز کنید ⚡
تعدیل یعنی تغییرات قیمتها یا شرایط که طبق قرارداد، اجازه تغییر مبلغ را میدهد.
اما تعدیل باید قاعدهمند باشد. اگر تعدیل را بدون مبنا وارد کنید، خیلی سریع اختلاف ایجاد میشود.
اشتباهات رایج:
تعدیل را سلیقهای محاسبه میکنند
تعدیل را با تغییرات طراحی یا کار اضافه قاطی میکنند
تعدیل را یکباره و بدون توضیح به صورتوضعیت اضافه میکنند
✅ پیشنهاد اجرایی:
تعدیل را فقط وقتی وارد کنید که:
مبنای قراردادی/الحاقیه مشخص است
دوره و روش محاسبه مشخص است
اثر تعدیل روی کارکرد تجمعی روشن است
یادآوری: تعدیل اگر شفاف نباشد، اولین چیزی است که کارفرما روی آن گیر میدهد.

بعد از کارکرد، پیشپرداخت، و کسورات، به عدد خالص قابل پرداخت میرسیم.
این عدد باید با واقعیت پرداختهای کارفرما قابل تطبیق باشد.
اشتباه رایج:
خالص قابل پرداخت را درست مینویسند، اما پرداختهای قبلی را لحاظ نمیکنند
یا پرداختهای قبلی در سیستم مالی ثبت نشده و عدد نهایی با بانک نمیخواند
✅ کنترل کاربردی:
خالص قابل پرداخت این دوره + پرداختهای قبلی = جمع پرداختهای ثبتشده
اگر این تساوی به هم بخورد، جایی یک ثبت ناقص دارید.
چون شما گفتید لینکدهی و کدهای عجیب نمیخواهید، یک مدل ساده و قابل کپی ارائه میدهم که معمولاً جواب میدهد:
ردیف ۱: کارکرد این دوره (شرح مرحله/ماه/پیشرفت)
ردیف ۲: تعدیل/مابهالتفاوت (اگر وجود دارد، با شرح و مبنا)
ردیف ۳: کسورات (تفکیکشده یا حداقل شفاف)
ردیف ۴: حسن انجام کار (جدا و واضح)
ردیف ۵: تهاتر/کسر پیشپرداخت (اگر در این دوره انجام میشود)
✅ نکته:
اگر پروژه شما فهرستبهایی و ریزآیتمی است، ممکن است ردیفهای کارکرد خیلی بیشتر شود؛ اما باز هم کسورات و حسن انجام کار بهتر است جدا بماند.

قاطی کردن پیشپرداخت با کارکرد
ثبت یککاسه کسورات بدون تفکیک
فراموش کردن ردیابی تجمعی حسن انجام کار
وارد کردن تعدیل بدون مبنای روشن
اختلاف کارکرد تجمعی بین واحد پروژه و واحد مالی
صدور صورتحساب قبل از قطعی شدن صورتوضعیت
نداشتن جدول مانده پیشپرداخت و مانده کسورات
هشدار: اگر پروژههای شما زیاد است، تکرار همین خطاهای کوچک میتواند آخر ماه، تیم مالی را زمینگیر کند.
📣اگر میخواهید صورتوضعیتهایتان کمتر برگشت بخورد، همین امروز این ۳ کار را انجام دهید:
یک جدول داخلی بسازید: کارکرد تجمعی، پرداختهای قبلی، مانده پیشپرداخت، مانده حسن انجام کار
کسورات را جدا نگه دارید و “یک عدد مبهم” تحویل ندهید
قبل از ارسال، کنترل کنید:
کارکرد تجمعی = قبلی + این دوره ✅
شماره قرارداد و شماره صورتوضعیت مشخص و ثابت است.
کارکرد این دوره قطعی و تأییدشده است.
کارکرد تجمعی درست محاسبه شده و با دوره قبل میخواند.
پیشپرداخت با کارکرد قاطی نشده و جدول مانده دارد.
کسورات تفکیک شده و قابل توضیح است.
حسن انجام کار جدا ثبت شده و تجمعی ردیابی میشود.
تعدیل فقط با مبنای روشن و توضیح ثبت شده است.
خالص قابل پرداخت با پرداختهای قبلی قابل تطبیق است.
کنترل نهایی توسط یک نفر مسئول انجام شده است.

✅📑در بخشهای قبلی، ستونهای عددی پیمانکاری را محکم کردیم: کارکرد این دوره، کارکرد تجمعی، پیشپرداخت، کسورات، حسن انجام کار، تعدیل و خالص قابل پرداخت. حالا در بخش سوم میرویم سراغ واقعیت بازار؛ جایی که پروژهها شبیه “مثال کتابی” نیستند و دقیقاً همین پیچیدگیهاست که اگر مدیریت نشود، شما را وارد چرخه اصلاح و اختلاف میکند.
نکته مهم: پیمانکاری یعنی «مدیریت سناریو». اگر فرآیند داخلی شما سناریوها را پوشش ندهد، حتی بهترین تیم مالی هم خسته میشود.
پیمانکاری با کارفرمای دولتی و خصوصی از نظر “فرم و فرآیند” فرق دارد؛ حتی اگر موضوع پروژه یکی باشد.
روی شمارهگذاری و ارجاعات (شماره قرارداد، شماره صورتوضعیت، دوره) حساستر است.
فرآیند تأیید ناظر/دستگاه نظارت طولانیتر است.
کسورات و نگهداشتها غالباً قاعدهمندتر و ثابتتر است.
در تعدیل و مابهالتفاوت، به مبنای قرارداد و آییننامهها خیلی گیر میدهد.
سریعتر تصمیم میگیرد، اما ممکن است توافقهای شفاهی بیشتر باشد.
احتمال تغییرات پروژه و الحاقیه بیشتر است.
ممکن است پرداختها ترکیبی و انعطافپذیرتر باشد.
ممکن است کسورات قراردادی سلیقهایتر یا پروژهایتر باشد.
✅ پیشنهاد اجرایی:
برای هر کارفرما یک “پروفایل پروژهای” بسازید که شامل موارد زیر باشد:
روال تأیید صورتوضعیت
نوع و درصد کسورات
روال تعدیل/تغییرات
روال پرداخت و تسویه
این کار باعث میشود تیم شما برای هر پروژه یک بار فکر کند، نه هر ماه دوباره از صفر.
در پروژههای بزرگ، پیمانکار اصلی بخشی از کار را به پیمان جزء میسپارد. اینجا دو جریان مالی داریم:
پیمانکار اصلی → کارفرما (صورتوضعیت اصلی پروژه)
پیمان جزء → پیمانکار اصلی (صورتوضعیت پیمان جزء برای بخش انجامشده)
اشتباه پرتکرار:
پیمانکار اصلی، صورتوضعیت پیمان جزء را با صورتوضعیت کارفرما قاطی میکند.
یا هزینه پیمان جزء را طوری ثبت میکند که انگار همان فروش به کارفرماست.
✅ روال درست:
صورتوضعیت پیمان جزء باید مستقل و قابل ردیابی باشد.
در سیستم داخلی پروژه، پیمان جزء را به “بخش اجرایی مشخص” وصل کنید.
هیچوقت نقش خریدار/فروشنده را جابهجا نکنید:
کارفرما خریدارِ پیمانکار اصلی است، نه خریدار پیمان جزء.
هشدار: قاطی شدن نقشها، یکی از علتهای اصلی مغایرت بین گزارش پروژه و گزارش مالی است.
بعضی پروژهها طوری هستند که:
هم صورتوضعیت موقت دارید،
هم صورتوضعیت اصلاحی،
هم ممکن است صورتوضعیتهای مرحلهای همپوشانی داشته باشند.
اشتباه پرتکرار:
شمارهگذاری صورتوضعیتها نامنظم است.
دورهها با هم همپوشانی دارند و یک بخش کار دوبار حساب میشود.
تیم مالی فقط عدد نهایی را میبیند و نمیفهمد کدام صورتوضعیت مربوط به کدام بازه است.
✅ راهکار اجرایی:
یک “تقویم صورتوضعیت” برای پروژه داشته باشید.
هر صورتوضعیت باید این سه چیز را واضح داشته باشد:
شماره
دوره/مرحله
وضعیت (موقت/قطعی/اصلاحی)
نکته: اگر دورهها همپوشانی داشته باشد، اختلاف در کارکرد تجمعی تقریباً قطعی است.
گاهی یک کارفرما با شما چند قرارداد دارد:
قرارداد اصلی
قرارداد الحاقی
قرارداد خدمات پشتیبانی
قرارداد تجهیز کارگاه
یا قرارداد جدا برای بخش دیگری از پروژه
اشتباه پرتکرار:
صورتوضعیتها بین قراردادها جابهجا میشود.
پرداختهای کارفرما به اشتباه روی قرارداد دیگر مینشیند.
در پایان، تسویه نهایی به هم میریزد چون “پولها قاطی شده”.
✅ راهکار اجرایی:
برای هر قرارداد، یک کد داخلی پروژه/قرارداد بسازید.
پرداختها را حتماً با همان کد قرارداد ثبت کنید.
صورتوضعیت را بدون انتخاب کد قرارداد، اجازه صدور ندهید.
نتیجه: کد قرارداد یعنی جلوگیری از قاطی شدن پولها.
در پروژه واقعی، تغییرات طبیعی است:
کار اضافه
تغییر نقشه یا طراحی
تغییر مقادیر
تمدید زمان
تغییر نرخها (در برخی مدلها)
و در نهایت “الحاقیه”
اشتباه پرتکرار:
تغییرات انجام میشود، اما در سیستم مالی ثبت نمیشود.
الحاقیه وجود دارد، اما اثرش در صورتوضعیتها گم میشود.
تعدیل با کار اضافه قاطی میشود.
✅ روال پیشنهادی برای تغییرات:
هر تغییر باید یک “مرجع” داشته باشد (نامه/صورتجلسه/الحاقیه).
تغییر را از نظر مالی دستهبندی کنید:
کار اضافه
تعدیل
تغییر مقادیر
اثر تغییر را روی کارکرد تجمعی روشن کنید (قبل/بعد).
در توضیحات داخلی پروژه، تاریخ و شماره مرجع را نگه دارید.
نکته کاربردی: اگر تغییرات زیاد دارید، یک فایل “ردیابی تغییرات” بسازید. باور کنید آخر پروژه، شما را نجات میدهد.
گاهی کارفرما پرداخت را دقیقاً مطابق صورتوضعیت انجام نمیدهد:
پرداخت کمتر از خالص قابل پرداخت
پرداخت با تأخیر
پرداخت چند مرحلهای برای یک صورتوضعیت
پرداخت با تهاتر یا کسرهای جدید
اشتباه پرتکرار:
تیم مالی پرداخت جزئی را مثل پرداخت کامل ثبت میکند.
یا پرداخت را بدون ارجاع به صورتوضعیت ثبت میکند.
یا پرداختها روی قرارداد اشتباه مینشیند.
✅ راهکار اجرایی:
برای هر صورتوضعیت، وضعیت پرداخت تعریف کنید:
پرداخت نشده / پرداخت جزئی / تسویه شده
پرداخت را به شماره صورتوضعیت وصل کنید، نه صرفاً به نام پروژه.
هشدار: پرداختی که به صورتوضعیت وصل نباشد، آخر پروژه تبدیل به اختلاف میشود.

قبل از صدور صورتحساب پیمانکاری، این کنترلهای سناریویی را انجام دهید:
این صورتوضعیت مربوط به کدام قرارداد است؟ (کد قرارداد انتخاب شده؟)
دوره/مرحله صورتوضعیت مشخص است؟ همپوشانی ندارد؟
اگر پیمان جزء هست، نقشها اشتباه نشده؟
اگر الحاقیه داریم، اثرش در اعداد لحاظ شده؟
وضعیت پرداختهای قبلی و ماندهها روشن است؟
نتیجه: این کنترلها باعث میشود قبل از ارسال، اختلافها را در داخل شرکت پیدا کنید، نه با تماس کارفرما!
📣اگر پروژههای شما چندقراردادی است یا پیمان جزء دارید، همین امروز این ۳ کار را انجام دهید:
برای هر قرارداد یک کد داخلی اجباری تعیین کنید.
صورتوضعیت را بدون شمارهگذاری و دوره/مرحله، اجازه صدور ندهید.
یک فایل ردیابی تغییرات بسازید (الحاقیهها، کار اضافه، تغییر مقادیر).
⏳ فرصت را از دست ندهید! همین حالا ارسال صورتحساب الکترونیکی مودیان را آغاز کنید ⚡
نوع کارفرما (دولتی/خصوصی) و روال آن مشخص است.
پیمان جزء از پیمان اصلی تفکیک شده و نقشها قاطی نشدهاند.
هر صورتوضعیت شماره و دوره/مرحله واضح دارد.
همپوشانی دورهها کنترل شده است.
در پروژههای چندقراردادی، کد قرارداد اجباری و درست انتخاب شده است.
الحاقیهها و تغییرات اثر مالیشان ثبت و قابل ردیابی است.
پرداختهای قبلی به صورتوضعیتها وصل است و وضعیت پرداخت روشن است.
کنترل نهایی توسط یک نفر مسئول انجام شده است.

🧾🔁در بخشهای قبلی، پیمانکاری را از پایه تا سناریوهای واقعی جلو بردیم:
صورتوضعیت، کارکرد تجمعی، پیشپرداخت، کسورات، حسن انجام کار، تعدیل، قراردادهای چندگانه، پیمان جزء و الحاقیهها.
حالا در بخش چهارم، میرسیم به حساسترین قسمت پروژهها: وقتی باید سند را اصلاح کنید، وقتی باید ابطال کنید، و وقتی باید برگشت (یا برگشت بخشی) ثبت کنید.
اصلاح یعنی صورتوضعیت یا صورتحساب صادر شده، اما یکی از اطلاعاتش نیاز به تغییر دارد؛ در حالی که اصل معامله (انجام کار) برقرار است.
رایجترین دلیلهای اصلاح در پیمانکاری:
اشتباه در مبلغ کارکرد این دوره
اشتباه در کارکرد تجمعی (بهخاطر همپوشانی دورهها یا دوبار شماری)
اشتباه در کسورات (مثلاً حسن انجام کار یا کسورات قراردادی)
اشتباه در تهاتر/کسر پیشپرداخت
اعمال نادرست تعدیل/مابهالتفاوت
اشتباه در ارجاعها: شماره صورتوضعیت، دوره/مرحله، شماره قرارداد
✅ روال حرفهای اصلاح در پیمانکاری:
اول دقیق مشخص کنید خطا کجاست: کارکرد؟ کسورات؟ پیشپرداخت؟ تعدیل؟
اثر اصلاح را روی خالص قابل پرداخت حساب کنید.
اثر اصلاح را روی ماندهها هم حساب کنید (مانده پیشپرداخت، مانده حسن انجام کار).
اصلاح را طوری انجام دهید که سوابق قابل ردیابی بماند (به شماره صورتوضعیت و قرارداد وفادار بمانید).
فقط یک نفر مسئول “تأیید نهایی اصلاح” باشد.
هشدار: اصلاحی که ماندهها را بهروزرسانی نکند، یعنی شما دارید پروژه را به سمت اختلاف پایان کار هل میدهید.

در پیمانکاری، بعضی اصلاحها معمولاً حساسترند و باید با کنترل اضافه انجام شوند:
چون اگر کارکرد تجمعی غلط شود، همه پرداختها و تسویه نهایی به هم میریزد.
✅ کنترل پیشنهادی:
کارکرد تجمعی جدید = کارکرد تجمعی قبلی + کارکرد این دوره (پس از اصلاح)
چون حسن انجام کار تجمعی میشود و در پایان باید آزادسازی شود.
✅ کنترل پیشنهادی:
مانده حسن انجام کار قبل/بعد را کنار هم بنویسید و کنترل کنید.
چون پیشپرداخت معمولاً در چند مرحله مستهلک میشود و اگر یک مرحله اشتباه شود، باقی مراحل هم غلط میشوند.
✅ کنترل پیشنهادی:
مانده پیشپرداخت قبل/بعد را ثبت و کنترل کنید.
چون تعدیل همیشه محل سؤال است، مخصوصاً در کارفرمای دولتی.
✅ کنترل پیشنهادی:
مبنا، دوره و روش محاسبه تعدیل را در پرونده داخلی نگه دارید.

ابطال یعنی سند صادر شده، اما معامله/مرحله واقعاً انجام نشده یا صدور سند از اساس اشتباه بوده است.
ابطال در پیمانکاری معمولاً وقتی منطقی است که:
صورتوضعیت اشتباهی صادر شده ولی هیچ تأیید و کارکرد واقعی پشت آن نیست
سند تکراری صادر شده
صورتوضعیت مربوط به پروژه دیگری بوده و اشتباه ثبت شده
کارفرما رسماً اعلام کرده این صورتوضعیت از اعتبار ساقط است (مثلاً قبل از تأیید رسمی)
نکته کاربردی: اگر کار انجام شده و فقط عددها یا کسورات غلط است، معمولاً ابطال انتخاب خوبی نیست؛ اصلاح یا برگشت منطقیتر است.

در پیمانکاری “برگشت از فروش” مثل فروشگاه نیست که کالا برگردد؛ اما مفهوم مشابه دارد:
یعنی بخشی از کاری که قبلاً در کارکرد آمده، بعداً حذف، اصلاح اساسی، یا برگشت میشود.
سناریوهای پرتکرار برگشت در پیمانکاری:
کارفرما بخشی از کار انجامشده را نمیپذیرد و در صورتوضعیت بعدی کسر میکند
بخشی از عملیات به دلیل تغییر طراحی حذف میشود
آیتمهایی که قبلاً صورتوضعیت شده، در بازدید نهایی مردود میشود
اشتباه در صورتوضعیت قبلی آنقدر اساسی است که باید بخشی از آن برگشت بخورد
✅ اصول طلایی برگشت در پیمانکاری:
برگشت باید به صورتوضعیت مرجع وصل باشد.
مقدار/مبلغ برگشتی باید سند داشته باشد (صورتجلسه، نظر ناظر، مکاتبه رسمی).
اثر برگشت روی کارکرد تجمعی و کسورات/حسن انجام کار باید محاسبه شود.
هشدار: برگشت اگر فقط “یک عدد منفی” باشد بدون توضیح، تبدیل به اختلاف دائمی میشود.
برای اینکه اشتباه نکنید، این قانون ساده را کنار سیستم بزنید:
کار انجام نشده / سند از ریشه اشتباه است → ابطال
کار انجام شده / اطلاعات سند اشتباه است → اصلاح
کار انجام شده / بخشی از کار بعداً حذف یا مردود شده → برگشت (یا کسر در صورتوضعیت بعد)
✅ همین سه خط، جلوی بیشتر تصمیمهای غلط را میگیرد.

اشتباه ۱: ابطال به جای اصلاح
✅ درمان: اگر کارکرد واقعی وجود دارد، اصلاح کنید نه ابطال.
اشتباه ۲: برگشت بدون اتصال به صورتوضعیت مرجع
✅ درمان: برگشت باید مرجع داشته باشد؛ وگرنه سوابق گم میشود.
اشتباه ۳: اصلاح توسط چند نفر همزمان
✅ درمان: یک نفر مسئول تأیید نهایی اصلاح باشد.
اشتباه ۴: اصلاح بدون کنترل ماندهها
✅ درمان: مانده حسن انجام کار، مانده پیشپرداخت، و کارکرد تجمعی را قبل/بعد کنترل کنید.
اشتباه ۵: تعدیل/تغییرات بدون مبنا و سند
✅ درمان: برای هر تغییر یک مرجع رسمی در پرونده داخلی نگه دارید.
📣اگر پروژههای شما زیاد است و اصلاح/برگشت هم دارید، همین امروز این کار را انجام دهید:
یک “فرم تصمیمگیری” ساده طراحی کنید که قبل از هر اقدام پر شود:
مشکل چیست؟
مربوط به کدام قرارداد و کدام صورتوضعیت است؟
کار انجام شده یا نشده؟
اثر روی کارکرد تجمعی، حسن انجام کار، پیشپرداخت چیست؟
شماره قرارداد ثابت و درست ثبت شده است.
شماره صورتوضعیت و دوره/مرحله واضح است.
کارکرد این دوره تأییدشده و قابل دفاع است.
کارکرد تجمعی درست و قابل کنترل است.
پیشپرداخت جداست و جدول مانده دارد.
کسورات تفکیک شده و قابل توضیح است.
حسن انجام کار جداست و تجمعی ردیابی میشود.
تعدیل فقط با مبنای روشن ثبت شده است.
خالص قابل پرداخت با پرداختهای قبلی قابل تطبیق است.
اگر تغییر داریم، اقدام درست انتخاب شده: اصلاح/ابطال/برگشت.
کنترل نهایی توسط یک نفر مسئول انجام شده است.

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

اگر پرداختها مرحلهای و مبتنی بر صورتوضعیت است، منطق پیمانکاری برای شما ضروریتر میشود. در غیر این صورت ممکن است الگوی فروش کالا و خدمات پاسخگو باشد، اما پیمانکاری معمولاً برای پروژهها مناسبتر است.
اشتباه در کارکرد دوره، کارکرد تجمعی، کسورات، تهاتر پیشپرداخت و حسن انجام کار.
پیشپرداخت را جدا نگه دارید و یک جدول مانده داشته باشید که میزان کسر در هر صورتوضعیت و مانده نهایی را نشان دهد.
یک نگهداشت است تا کارفرما بابت کیفیت اجرای پروژه مطمئن شود. این مبلغ هزینه نیست و باید تجمعی ردیابی شود تا در زمان آزادسازی فراموش نشود.
وقتی کار انجام نشده یا صورتوضعیت از اساس اشتباه صادر شده و هیچ کارکرد واقعی پشت آن نیست (مثل سند تکراری یا اشتباه پروژه).
یعنی بخشی از کارکرد قبلاً ثبت شده، اما بعداً حذف یا مردود میشود و باید اثرش روی کارکرد تجمعی و ماندهها لحاظ شود.
کنترل کارکرد تجمعی:
کارکرد تجمعی = قبلی + این دوره ✅
و کنترل ماندهها: پیشپرداخت و حسن انجام کار.
برای هر قرارداد کد داخلی اجباری بگذارید و پرداختها و صورتوضعیتها را فقط با همان کد ثبت کنید.
⏳ فرصت را از دست ندهید! همین حالا ارسال صورتحساب الکترونیکی مودیان را آغاز کنید ⚡