---
title: "ثبت خودکار معاملات بین شرکتی؛ طرف دوم سند را حسابدار من ثبت می‌کند"
description: "معاملات بین شرکتی را خودکار ثبت کنید: فروش قطعی‌شده در یک شرکت، خرید متناظر را در شرکت دیگر می‌سازد؛ با نگاشت حساب، فرمول مبلغ و اجرای آزمایشی."
canonical: https://hesabdar.my/workflows
language: fa
publisher: "حسابدار من"
updated: 2026-11-05
---

# ثبت خودکار معاملات بین شرکتی؛ طرف دوم سند را حسابدار من ثبت می‌کند

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

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

## یک معامله، دو بار تایپ، در دو دفتر جدا

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

### کار تکراری

عمده‌فروشی که ماهی ۱۵۰ فاکتور برای فروشگاه خودش صادر می‌کند، ۱۵۰ سند اضافه می‌سازد که کسی در فروشگاه باید دوباره تایپ کند.

### مبالغ ناهمخوان

اشتباه تایپی ۳۶٬۰۰۰ به‌جای ۶۳٬۰۰۰ در یک طرف پنهان می‌ماند تا روزی که حساب‌های فی‌مابین با هم نمی‌خوانند.

### اختلاف زمانی

فروشنده سند را ۳۰ام ثبت می‌کند و خریدار سوم ماه بعد؛ مانده‌های پایان ماه دیگر همدیگر را حذف نمی‌کنند.

### تلفیق دردسرساز

حذف فروش، دریافتنی و پرداختنی بین‌شرکتی فقط وقتی جواب می‌دهد که دو طرف یکسان ثبت شده باشند.

## رویداد، شرط، اقدام

گردش‌کار متعلق به حساب کاربری شماست، یک کسب‌وکار مبدأ را زیر نظر دارد و می‌تواند در هر کسب‌وکاری که اجازه ثبت سند در آن دارید، سند بنویسد.

### رویداد

رویداد را در کسب‌وکار مبدأ انتخاب کنید: سند **ایجاد**، **قطعی** یا **برگشت** شد. بیشتر گردش‌های بین‌شرکتی روی قطعی شدن تنظیم می‌شوند تا فقط اسناد تأییدشده منتقل شوند.

### شرط‌ها

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

### اقدام‌ها

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

## اقدامی را انتخاب کنید که با معامله جور است

### ساخت سند از الگو

ردیف‌های سند مقصد را خودتان تعریف می‌کنید: کد حساب، طرف بدهکار یا بستانکار و فرمول مبلغ مثل `credit("4101")` یا `percent(total, 9)`. شرح و شماره عطف برچسب‌هایی مثل `{{entry.number}}` را می‌پذیرند. نتیجه منفی خودکار به طرف مقابل می‌رود و ردیف‌های صفر را می‌توان حذف کرد.

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

### قرینه‌سازی سند

همه ردیف‌های سند مبدأ با ترجمه کد حساب‌ها از روی جدول نگاشت به مقصد کپی می‌شوند. کد دقیق اولویت دارد و بعد طولانی‌ترین پیشوند مثل `41*`. ردیف‌های بدون نگاشت به حساب پیش‌فرض می‌روند، رد می‌شوند یا اقدام را متوقف می‌کنند. جابه‌جایی بدهکار و بستانکار، ضریب، حفظ طرف‌حساب و ادغام ردیف‌ها هم ممکن است.

مناسب شرکت تلفیقی و گزارش شعب.

### فراخوانی وب‌هوک

خلاصه JSON سند (شماره، تاریخ، ردیف‌ها و جمع‌ها) با شناسه گردش‌کار در هدر `X-Webhook-Workflow` به هر آدرسی POST می‌شود. وضعیت HTTP در تاریخچه اجرا ثبت می‌شود تا خطاها دیده شوند.

مناسب خبر دادن به ERP، انبار داده یا کانال پیام‌رسان.

| عبارت | خروجی | در مثال این صفحه |
| --- | --- | --- |
| `total` | جمع بدهکار سند مبدأ (برابر جمع بستانکار) | ۶۰٬۰۰۰ |
| `debit("41")` | جمع بدهکار حساب‌هایی که کدشان با ۴۱ شروع می‌شود | ۰ |
| `credit("4101")` | جمع بستانکار حساب‌هایی که کدشان با ۴۱۰۱ شروع می‌شود | ۳۶٬۰۰۰ |
| `net("11")` | بدهکار منهای بستانکار حساب‌های شروع‌شونده با ۱۱ | ۱۲٬۰۰۰ |
| `round(x, 2)` | گرد کردن x تا ۲ رقم اعشار (یا هر دقتی که بدهید) | `round(total / 3, 2)` = ۲۰٬۰۰۰ |
| `percent(total, 9)` | ۹ درصد مقدار، گردشده تا ۲ رقم اعشار | ۵٬۴۰۰ |
| `abs(x)`، `min(a, b)`، `max(a, b)` | قدر مطلق، کوچک‌ترین و بزرگ‌ترین مقدار | `min(total, 50000)` = ۵۰٬۰۰۰ |
| `entry.currency_code == "USD"` | شرط روی فیلدهای سند، قابل ترکیب با `and` و `or` | true |

## از عمده‌فروش B2B تا خرده‌فروش B2C، هر دو طرف در یک قدم

شرکت «آلفا عمده‌فروش» به شرکت خواهرش «فروشگاه بتا» کالا می‌فروشد و بتا به مصرف‌کننده نهایی. هر دو از قالب کدینگ IFRS استفاده می‌کنند. در دفاتر آلفا، بتا مشتری با کد `C001` است و در دفاتر بتا، آلفا تأمین‌کننده با کد `S001`.

۱. آلفا فاکتور فروش INV-1001 را قطعی می‌کند

۲. گردش‌کار سند خرید را در بتا قطعی می‌کند

گردش‌کار با رویداد **قطعی شدن سند** اجرا می‌شود، نوع سند `SAL` و طرف‌حساب `C001` را شرط می‌گذارد و برای هر دو ردیف مقصد از `credit("4101")` استفاده می‌کند. این فرمول ۳۶٬۰۰۰ درآمد فروش را برمی‌دارد و ۲۴٬۰۰۰ بهای تمام‌شده را نادیده می‌گیرد، چون آن رقم هزینه داخلی آلفاست و برای بتا معنایی ندارد. استفاده از `total` اینجا اشتباه بود، چون ۶۰٬۰۰۰ است.

سند بتا شماره عطف `ALPHA-42` و اطلاعاتی دارد که به سند آلفا اشاره می‌کند؛ هر دو حسابدار می‌توانند یک طرف را تا طرف دیگر دنبال کنند. در تلفیق، ۳۶٬۰۰۰ درآمد آلفا و ۳۶٬۰۰۰ خرید بتا همراه دریافتنی و پرداختنی متناظر، بی‌دردسر حذف می‌شوند.

تنظیمات گردش‌کار (ساده‌شده)

{
  "trigger": "entry.posted",
  "source_business": "Alpha Wholesale LLC",
  "conditions": [
    { "field": "voucher_type", "operator": "eq",  "value": "SAL" },
    { "field": "party",        "operator": "has", "value": "C001" }
  ],
  "actions": [{
    "type": "create_entry",
    "target_business": "Beta Retail Store",
    "voucher_type": "PUR",
    "status": "posted",
    "reference": "ALPHA-{{entry.number}}",
    "description": "Purchase from {{source.business}}, invoice {{entry.reference}}",
    "lines": [
      { "account_code": "1124", "side": "debit",  "amount": "credit(\"4101\")" },
      { "account_code": "2111", "side": "credit", "amount": "credit(\"4101\")", "party_code": "S001" }
    ]
  }]
}

### سند ۴۲ · فروش

آلفا عمده‌فروش (B2B)

1111

حساب‌های دریافتنی تجاری

C001 فروشگاه بتا

۳۶٬۰۰۰

4101

فروش کالا

5101

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

۲۴٬۰۰۰

1124

کالای خریداری‌شده برای فروش

۶۰٬۰۰۰

قطعی

### سند ۱۷ · خرید

فروشگاه بتا (B2C)

2111

حساب‌های پرداختنی تجاری

S001 آلفا عمده‌فروش

ساخته‌شده با گردش‌کار

اقدام قرینه با پیشوند ستاره‌دار

برای یک شرکت تلفیقی، اقدام قرینه هر سند قطعی را کپی می‌کند و کدها را نگاشت می‌کند: `4101` به `4190`، هر کد دیگری که با `41` شروع شود به `4100`، همه دارایی‌های شروع‌شونده با `1` به `1999` و بقیه به حساب پیش‌فرض `9999`.

{
  "type": "mirror_entry",
  "target_business": "Group Consolidation",
  "account_map": [
    { "from": "4101", "to": "4190" },
    { "from": "41*",  "to": "4100" },
    { "from": "1*",   "to": "1999" }
  ],
  "default_account": "9999",
  "swap_sides": false,
  "merge_lines": true
}

## خودکارسازی‌ای که از کنترل دفاتر خارج نمی‌شود

### جلوگیری از حلقه

اسنادی که گردش‌کار می‌سازد، گردش‌کارهای دیگر را اجرا نمی‌کنند مگر زنجیره را مجاز کنید، و هیچ گردش‌کاری روی خروجی خودش اجرا نمی‌شود.

### حداکثر عمق ۳

حتی با زنجیره مجاز، زنجیره اسناد ساخته‌شده با گردش‌کار در عمق ۳ متوقف می‌شود و اجرا با وضعیت «ردشده» ثبت می‌شود.

### اجرای آزمایشی

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

### تاریخچه اجرا

هر اجرا با وضعیت (موفق، ناقص، ناموفق یا ردشده)، مدت زمان، اسناد ساخته‌شده و پیام خطا ثبت می‌شود.

### بررسی مجوز هنگام اجرا

در هر اجرا بررسی می‌شود که هنوز اجازه دیدن اسناد مبدأ و ثبت سند در مقصد را دارید. بدون مجوز قطعی‌سازی، سند به‌صورت موقت ثبت می‌شود.

### بدون سند تکراری

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

## هزینه هر اجرای گردش‌کار

گردش‌کارها از همان اعتباری استفاده می‌کنند که بقیه حسابدار من. با قیمت‌های پیش‌فرض، هر اجرا **۲ اعتبار** (`workflow.run`) هزینه دارد، به‌علاوه هزینه عادی هر سندی که می‌سازد (**۳ اعتبار** برای `entry.create`). در مثال بالا، طرف خودکار معامله ۵ اعتبار هزینه داشت. سندی که شرط‌ها را نداشته باشد هزینه‌ای ندارد. این هزینه‌ها را مدیر سامانه تعیین می‌کند و هزینه‌های روز همیشه در حساب کاربری شما فهرست شده است.

اجرای گردش‌کار

۲

هر سند ساخته‌شده در مقصد

۳

برقرار نبودن شرط‌ها

۰

اعتبار

## گروه‌ها گردش‌کار را کجا به کار می‌برند

### فروش و خرید بین‌شرکتی

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

### حق‌الزحمه مدیریت و تسهیم هزینه

وقتی شرکت مادر حق‌الزحمه مدیریت ثبت می‌کند، شرکت فرعی هزینه و بدهی را ثبت می‌کند. برای کارمزد درصدی از `percent(total, 5)` استفاده کنید.

### قرینه برای تلفیق

هر سند قطعی با جدول نگاشت فشرده و ردیف‌های ادغام‌شده در یک کسب‌وکار تلفیقی قرینه می‌شود.

### خبر دادن به ERP

وقتی سندی با برچسب `invoice` قطعی شد، وب‌هوک بفرستید تا ERP یا انبار بدون پرس‌وجوی مداوم به‌روز شود.

## راه‌اندازی گردش‌کار بین‌شرکتی

راه‌اندازی گردش‌کار بین‌شرکتی در حسابدار من

### آماده‌سازی دو کسب‌وکار

مطمئن شوید در هر دو شرکت اجازه ثبت سند دارید و هر شرکت را در دفاتر دیگری طرف‌حساب تعریف کنید: بتا مشتری C001 در آلفا و آلفا تأمین‌کننده S001 در بتا.

### ساخت گردش‌کار

کسب‌وکار مبدأ (آلفا) و رویداد را انتخاب کنید. قطعی شدن سند بهترین انتخاب است تا فقط اسناد تأییدشده منتقل شوند.

### افزودن شرط‌ها

نوع سند SAL و طرف‌حساب C001 را شرط بگذارید تا فروش به مشتریان بیرونی دست نخورد.

### افزودن اقدام

ساخت سند را انتخاب کنید، بتا را مقصد قرار دهید و ردیف‌ها را بسازید: بدهکار 1124 و بستانکار 2111 با طرف‌حساب S001، هر دو با مبلغ credit("4101").

### آزمایش روی سند واقعی

اجرای آزمایشی را روی یک فروش موجود بزنید و شرط‌ها و سند حاصل را بررسی کنید. چیزی ثبت نمی‌شود.

### فعال‌سازی و پایش

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

## پرسش‌های رایج درباره گردش‌کار بین‌شرکتی

### ثبت خودکار معاملات بین شرکتی یعنی چه؟

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

### آیا دو شرکت باید کدینگ یکسان داشته باشند؟

خیر. اقدام الگو حساب‌های مقصد را مستقیم نام می‌برد و اقدام قرینه کدها را با جدول نگاشت، شامل کد دقیق و پیشوند ستاره‌دار مثل `41*`، ترجمه می‌کند.

### اگر سند مبدأ برگشت بخورد چه می‌شود؟

برگشت سند رویداد جداگانه‌ای است. یک گردش‌کار روی **برگشت سند** بسازید تا سند مقابل در مقصد ثبت شود، یا سند مقصد را دستی برگشت بزنید. هیچ چیز بی‌صدا تغییر نمی‌کند.

### آیا گردش‌کار در شرکتی که من فقط دفتردار آن هستم سند قطعی می‌کند؟

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

### ممکن است دو گردش‌کار بی‌پایان همدیگر را اجرا کنند؟

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

### می‌توانم همین کار را با API انجام دهم؟

بله. می‌توانید هر دو طرف را با [API حسابداری](https://hesabdar.my/developers) و کلید یکتاسازی خودتان ثبت کنید. گردش‌کار شما را از نوشتن آن کد بی‌نیاز می‌کند.
