ارز پایه، نرخ تبدیل و ریال و تومان
کنترل ارز سند، ارز گزارش، نرخ تبدیل و اشتباههای دهبرابری
ارز پایه، نرخ تبدیل و تفاوت ریال/تومان در دفترکل
عدد بدون واحد پول ناقص است. «۱٬۰۰۰٬۰۰۰» ریال و «۱٬۰۰۰٬۰۰۰» تومان یک مبلغ نیستند. آناما در شخصیت حسابداری base_currency دارد و منابع currencies و exchange-rates را برای اطلاعات ارزی نگه میدارد؛ اما هر گزارش و فرم ممکن است مبلغ را با قالب نمایش متفاوت نشان دهد.
سه واحد را از هم جدا کنید
- ارز سند معامله: واحدی که فروشنده و خریدار در فاکتور یا قرارداد درباره آن توافق کردهاند.
- ارز پایه شخصیت: مبنای گزارش مالی همان واحد حسابداری.
- واحد نمایش UI: نحوه نوشتن عدد برای کاربر، مثلاً نشان دادن تومان به جای ریال؛ نباید بهطور پنهانی مبلغ ذخیرهشده را عوض کند.
رابطه فیلدها
| فیلد | کاربرد |
|---|---|
LegalEntity.base_currency | ارز پایه واحد گزارش |
BankAccount.currency | واحد موجودی نزد بانک |
Account.currency | محدودیت/اطلاعات ارزی سرفصل در صورت تعریف |
JournalLine.currency_amount | مبلغ ارزی سطر برای ردیابی معامله |
Budget.currency | واحد ارقام بودجه |
| نرخ تبدیل در منابع نرخ ارز | مبنای تبدیل در بازه و منبع معتبر |
مبلغهای ارزی نباید بدون نرخ و تاریخ تبدیل قابل دفاع جمع شوند. همچنین یک شخصیت چندارزی بهمعنی مجاز بودن استفاده از هر حساب بانک با هر ارز در همه عملیات سریع نیست؛ بعضی مسیرهای آناما تطابق با ارز پایه را الزام میکنند.
مثال ریال و تومان
اگر دفترکل ریالی است و کاربر «۲٬۵۰۰٬۰۰۰ تومان» وارد میکند، نمایش و ارسال باید با قرارداد فنی تبدیل درست انجام شود؛ در حالت ساده این برابر ۲۵٬۰۰۰٬۰۰۰ ریال است. اما خودتان با تصور اینکه هر فیلد تومان است، در بانک یا دفترکل عدد را ده برابر نکنید؛ برچسب فرم و قرارداد API را کنترل کنید.
مثال ارزی
شرکت با ارز پایه تومان، فاکتور ارزی دارد. مبلغ ارزی، نرخ مرجع قابل قبول و تاریخ شناسایی باید مشخص باشند. سود یا زیان تسعیر ممکن است در زمان تسویه یا پایان دوره مطرح شود. نبودن نتیجه تسعیر در کارت داشبورد به معنی نبود تفاوت اقتصادی نیست؛ باید موتور و سیاست پشتیبانیشده تأیید شود.
خطاهای رایج
- جمعزدن مانده ریال و دلار بدون تبدیل و مشخصکردن نرخ.
- تغییر ارز پایه شخصیت بعد از ثبت اسناد تاریخی بدون برنامه مهاجرت حسابداری.
- کپی نرخ امروز روی فاکتور ماه قبل.
- نمایش مبلغ به حروف «تومان» برای حسابی که ارز خارجی دارد.
- تبدیل دوباره مبلغ توسط UI و Backend و ایجاد اختلاف دهبرابری.
توصیه عملی
در همه فرمهای پولی برچسب واحد، جداکننده هزارگان و معادل فارسی را همراه با واحد واقعی نشان دهید. در سند نهایی نیز مقدار ذخیرهشده و ارز را آشکار کنید. برای مغایرتها تاریخ نرخ و مرجع تبدیل را ثبت کنید.
ادامه
شخصیت حسابداری · بانکها · صورتهای مالی
آزمون عملی برای جلوگیری از اشتباه دهبرابری
فرض کنید در فرم نوشته شده «مبلغ (تومان)» و کاربر مقدار «۳,۵۰۰,۰۰۰» میزند. پیش از ذخیره باید واحد نمایشی و مقدار منتقلشده به API با قرارداد آن فرم تطبیق داشته باشند. اگر بکاند مبلغ ریالی انتظار دارد، تبدیل باید دقیقاً یک بار انجام شود؛ اگر مبلغ تومان انتظار دارد، ارسال ضربدر ده خطا ایجاد میکند. بعد از ذخیره، مقدار برگشتی فرم و آرتیکل دفترکل را با رسید واقعی مقایسه کنید. صرف نمایش رقم با کاما و متن فارسی صحت تبدیل را تضمین نمیکند.
نرخ تبدیل کدام روز باید استفاده شود؟
ثبت یک فاکتور ارزی، تسویه آن و گزارش پایان دوره ممکن است تاریخهای متفاوتی داشته باشند. بر اساس استاندارد و سیاست حسابداری قابل اجرا، نرخ هر مرحله میتواند فرق کند. ذخیره نرخ بدون تاریخ و منبع کافی نیست؛ از روی نام ارز یا نرخ نمایشدادهشده امروز نتیجه قطعی برای تراکنش گذشته نگیرید. در صورت وجود اختلاف تسعیر، آن را با حساب و سند معتبر شناسایی کنید، نه با تغییر مبلغ اصل فاکتور بعد از ثبت قطعی.
مثال دو حساب بانکی متفاوت
شرکت یک حساب ریالی و یک حساب ارزی دارد. موجودی ۲۰۰ میلیون ریال و ۱۰۰۰ واحد ارز خارجی را نباید در کارت «کل پول» بدون تبدیل نشان داد. گزارش مدیریتی میتواند هر ارز را جدا و معادل تبدیلشده را با زمان/نرخ مشخص نمایش دهد. برای پرداخت از بانک ارزی بابت فاکتور ریالی، پیش از عملیات واقعی بررسی کنید آیا مسیر انتخاب حساب و ثبت ارزی در نسخه فعلی پشتیبانی میشود. انتخاب اجباری ارز پایه در بعضی فرمها محدودیت عملیاتی است، نه اجازه تبدیل دستی دلخواه.
چه زمانی باید از حسابدار کمک گرفت؟
در معاملات با چند نرخ، پرداخت جزئی ارزی، پیشدریافت ارزی یا دورههای دارای نوسان شدید، اثر تسعیر پیچیده میشود. راهنمای حاضر توضیح مفهوم و نقاط کنترل است، نه محاسبه خودکار قانونی سود و زیان تسعیر برای هر سناریو. ثبت این معاملات باید با سیاست مشخص، تاریخ نرخ و اسناد قابل ردیابی انجام شود.
کنترل گزارش ارزی پایان ماه
برای هر بانک و فاکتور ارزی، مانده به ارز اصلی و معادل ثبتشده در ارز پایه را جدا گزارش کنید. اگر مانده ارز اصلی با صورتحساب بانک برابر است اما معادل ریالی/تومانی فرق دارد، ممکن است مسئله نرخ تسعیر، تاریخ نرخ یا روش گزارش باشد. نباید برای یکسانکردن دو رقم، مقدار ارز اصلی را تغییر داد. پیش از تهیه صورتهای مالی، مسئول مالی باید حسابهای ارزی، سود و زیان تسعیر احتمالی و منابع نرخ را مرور کند. هر گزارش مدیریتی که معادل ارز را نمایش میدهد بهتر است تاریخ نرخ تبدیل را نیز آشکار کند.
مثال خطای دهبرابری
مبلغ رسید بانکی ۳۰,۰۰۰,۰۰۰ ریال است و فرم عملیاتی تومان میخواهد؛ مقدار متناظر ۳,۰۰۰,۰۰۰ تومان است. اگر همان ۳۰ میلیون را در فیلد تومان وارد کنید، سند ده برابر میشود. جداکننده سهرقمی و تبدیل عدد به حروف بهتنهایی جلوی این اشتباه را نمیگیرد؛ عنوان واحد مالی واقعی هر فیلد اهمیت دارد.
برای خرید ارزی، ارز پایه شخصیت، ارز حساب بانک، تاریخ نرخ و روش تسعیر را ثبت و کنترل کنید. وجود فهرست نرخ به معنی تسعیر خودکار همه اسناد نیست.