رفتن به محتوای اصلی
Ledgeriano
خودکارسازی بین‌شرکتی

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

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

ثبت خودکار معاملات بین شرکتی: فروش قطعی‌شده در یک شرکت که سند خرید را در شرکت خواهر می‌سازد
مسئله

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

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

  • کار تکراری

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

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

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

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

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

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

  1. گام ۱

    رویداد

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

  2. گام ۲

    شرط‌ها

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

  3. گام ۳

    اقدام‌ها

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

سه نوع اقدام

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

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

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

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

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

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

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

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

    خلاصه JSON سند (شماره، تاریخ، ردیف‌ها و جمع‌ها) با شناسه گردش‌کار در هدر X-Ledgeriano-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 و ortrue

برچسب‌های الگو برای شرح و شماره عطف

  • {{entry.number}}شماره سند مبدأ
  • {{entry.reference}}شماره عطف مبدأ، مثلاً شماره فاکتور
  • {{entry.description}}شرح سند مبدأ
  • {{entry.date}}تاریخ سند مبدأ (YYYY-MM-DD)
  • {{entry.voucher_type}}کد نوع سند، مثلاً SAL
  • {{source.business}}نام کسب‌وکار مبدأ
مثال کامل

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

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

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

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

سند ۴۲ · فروش

SALINV-1001۱۴۰۴/۱۲/۱۴قطعی
کدحسابطرف‌حساببدهکاربستانکار
1111حساب‌های دریافتنی تجاریC001 فروشگاه بتا۳۶٬۰۰۰
4101فروش کالا۳۶٬۰۰۰
5101بهای تمام‌شده کالای فروش‌رفته۲۴٬۰۰۰
1124کالای خریداری‌شده برای فروش۲۴٬۰۰۰
جمع۶۰٬۰۰۰۶۰٬۰۰۰

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

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

سند ۱۷ · خرید

PURALPHA-42۱۴۰۴/۱۲/۱۴ساخته‌شده با گردش‌کار
کدحسابطرف‌حساببدهکاربستانکار
1124کالای خریداری‌شده برای فروش۳۶٬۰۰۰
2111حساب‌های پرداختنی تجاریS001 آلفا عمده‌فروش۳۶٬۰۰۰
جمع۳۶٬۰۰۰۳۶٬۰۰۰

گردش‌کار با رویداد قطعی شدن سند اجرا می‌شود، نوع سند 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" }
    ]
  }]
}

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

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

mirror_entry
{
  "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 یا انبار بدون پرس‌وجوی مداوم به‌روز شود.
گام به گام

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

  1. ۱

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

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

  2. ۲

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

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

  3. ۳

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

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

  4. ۴

    افزودن اقدام

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

  5. ۵

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

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

  6. ۶

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

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

پرسش‌های متداول

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

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

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

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

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

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

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

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

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

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

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

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

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

یک فاکتور را دو بار تایپ نکنید

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