نام موجودیت : فاکتور فروش
نام سیستمی : Invoice
مسیر api ها : https://accounting.samyar.cloud/Invoice
کلید اصلی : InvoiceId
ویژگیها (properties)
لیست فیلدهای موجودیت هدر فاکتور فروش در زیر آمده است.
ویژگی | عنوان | نوع ثبت | نوع | موجودیت اصلی | شرح |
InvoiceId | شناسه | سیستمی | int | کلید اصلی (داخلی) | |
SheetNumber | شماره برگه | سیستمی | int | شماره فاکتور | |
SheetDate | تاریخ فاکتور | اجباری | date | ||
DetailId | شناسه مشتری | اجباری | int | تفصیلی | |
Detail_FullCode | کد کامل تفصیلی | فقط خواندنی | string | تفصیلی | کد هشت رقمی (فقط خواندنی) |
Detail_LedgerFloatable | تفصیلی مشتری شناور پذیر است ؟ | فقط خواندنی | boolean | معین | فقط خواندنی |
Detail_Lookup | کد و عنوان مشتری | فقط خواندنی | string | تفصیلی | سیستمی و فقط خواندنی |
FloatAccountId | شناسه حساب شناور | اجباری مشروط | int | حساب شناور | اگر تفصیلی شناور پذیر باشد اجباری می باشد |
FloatAccount_FullCode | کد کامل حساب شناور | فقط خواندنی | string | حساب شناور | کد پنج رقمی (فقط خواندنی) |
FloatAccount_Title | عنوان حساب شناور | فقط خواندنی | string | حساب شناور | فقط خواندنی |
FloatAccount_Lookup | کد و عنوان حساب شناور | فقط خواندنی | string | حساب شناور | سیستمی و فقط خواندنی |
CarrierDetailId | شناسه حمل کننده | اختیاری | int | تفصیلی | |
CarrierDetail_FullCode | کد کامل حمل کننده | فقط خواندنی | string | تفصیلی | کد هشت رقمی (فقط خواندنی) |
CarrierDetail_Title | عنوان حمل کننده | فقط خواندنی | string | تفصیلی | فقط خواندنی |
CarrierDetail_ Lookup | کد و عنوان حمل کننده | فقط خواندنی | string | تفصیلی | |
CarrierPrice | هزینه حمل | اجباری مشروط | decimal | اگر حمل کننده داشته باشیم هزینه حمل اجباری می باشد | |
DeliveryAddress | آدرس حمل | اختیاری | string | ||
SalesmanDetailId | شناسه بازاریاب | اختیاری | int | تفصیلی | |
DocumentId | شناسه سند | سیستمی | int | سند | شناسه داخلی سند |
DocumentCode | شماره سند | فقط خواندنی | int | سند | شماره سند – در سال مالی یونیک می باشد |
ProformaId | شناسه پیش فاکتور | سیستمی | int | پیش فاکتور | شناسه پیس فاکتوری که فاکتور از روی آن صادر شده |
ProformaNumber | نام | فقط خواندنی | int | پیش فاکتور | |
DeliveryId | شناسه حواله | سیستمی | int | حواله انبار | شناسه حواله ای که از روی این فاکتور صادر شده است |
DeliveryNumber | شماره حواله | فقط خواندنی | int | حواله انبار | |
CreatedDate | تاریخ ایجاد | سیستمی | date | ||
CreatedUserID | شناسه کاربر ایجاد کننده | اجباری | int | کاربران | |
ModifiedDate | تاریخ ویرایش | سیستمی | date | ||
ModifiedUserID | شناسه کاربر ویرایش کننده | اجباری | int | کاربران | |
Description | شرح فاکتور | اختیاری | string | ||
Serial | شماره دستی | اختیاری | int | ||
VatPercent | درصد مالیات | سیستمی | decimal | ||
TollVatPercent | درصد عوارض | سیستمی | decimal | ||
DiscountPrice | مبلغ تخفیف | سیستمی | decimal | باید با متد جداگانه ای به روز شود . از متد create یا update نمی توان آن را به روز کرد | |
DiscountPercent | درصد تخفیف | سیستمی | decimal | باید با متد جداگانه ای به روز شود . از متد create یا update نمی توان آن را به روز کرد | |
SumOfItems | جمع اقلام | فقط خواندنی | decimal | جمع اقلام بدون لحاظ کردن تخفیف | |
Vat | جمع مالیات و عوارض | فقط خواندنی | decimal | ||
Price | مبلغ نهایی فاکتور | فقط خواندنی | decimal | ||
BuyAndSaleMethod | روش خرید و فروش | سیستمی | int | 1- فقط فاکتور صادر شود 2- علاوه بر فاکتور حواله هم صادر شود | |
Person_Title | عنوان مشتری | فقط خواندنی | string | تفصیلی | |
Person_PostalCode | کد پستی مشتری | فقط خواندنی | string | تفصیلی | |
Person_PostalCode | تلفن مشتری | فقط خواندنی | string | تفصیلی | |
Person_Address | آدرس مشتری | فقط خواندنی | string | تفصیلی | |
Person_EconomicCode | کد اقتصادی مشتری | فقط خواندنی | string | تفصیلی | |
Person_NationalCode | کد ملی مشتری | فقط خواندنی | string | تفصیلی | |
NoVat | معاف از مالیات | اجباری | boolean | ||
PriceListId | شناسه لیست قیمت | اختیاری | int | لیست قیمت | |
PriceList_Title | عنوان لیست قیمت | فقط خواندنی | string | لیست قیمت | |
ReceiptPrice | مبلغ دریافتی بابت فاکتور | فقط خواندنی | decimal | جمع مبلغ همه برگه های دریافت متصل به فاکتور | |
OrgUnitId | واحد سازمانی ثبت کننده | فقط خواندنی | int | ||
FinancialYearId | شناسه سال مالی | سیستمی | int | سال مالی | |
IsCurrency | فاکتور ارزی | اجباری | boolean | ||
CurrencyId | شناسه ارز | اجباری مشروط | int | ارز | در صورتی که فاکتور ارزی باشد اجباری است |
ExchangeRate | نرخ تبدیل ارز | اجباری | decinal | برای ریال برابر 1 خواهد بود |
متد ایجاد
مسیر : https://accounting.samyar.cloud/Invoice/Create
متد ارسال : POST
نمونه پارامترهای ارسالی جهت ایجاد هدر یک فاکتور جدید در زیر آمده است .
VatPercent و TollVatPercent j بر اساس تنظیمات سیستم و به صورت خودکار مقدار دهی می شود
Serial می تواند خالی باشد یا توسط api دیگری آخرین سریال خوانده شده و یکی به آن اضافه شود .
پارامترهای ورودی متد ایجاد
SheetDate: 2019-08-29T00:00:00+04:30
Serial: 21
DetailId: 124
FloatAccountId: 4
CarrierDetailId: 112
SalesmanDetailId: 90
DeliveryAddress: مشهد
Description: ندارد
VatPercent: 0
TollVatPercent: 0
SalesmanPercent: 10
SalesmanPrice:
CarrierPrice: 10
PriceListId:
NoVat: 0
IsCurrency: true
ExchangeRate: 100,000
CurrencyId: 1
پارامترهای خروجی متد ایجاد
در صورتی که عملیات با موفقیت انجام شود MessageType برابر 3 و در صورتی که با خطا مواجه شود برابر 1 می باشد.
{
"Message": "آیتم با موفقیت به روز شد .",
"MessageType": 3, //نتیجه عملیات
"InvoiceId": 26, // شناسه آیتم اضافه شده
"Detail_FullCode": "12030007",
"Detail_Title": "مشتریان",
"Detail_LedgerFloatable": false,
"FloatAccount_FullCode": null,
"FloatAccount_Title": null,
"FloatAccount_Lookup": "",
"CarrierDetail_FullCode": "27020001",
"CarrierDetail_Title": "آقای ...",
"SalesmanDetail_FullCode": "27030001",
"SalesmanDetail_Title": "اسناد پرداختنی از بانک ...",
"DeliveryId": null,
"DeliveryNumber": null,
"ReceiptId": null,
"ReceiptNumber": null,
"SumOfItems": 0.0,
"Discount": 0.0,
"Vat": 0.0,
"Price": 0.0,
"DocumentCode": null,
"Person_Address": null,
"Person_EconomicCode": null,
"Person_NationalCode": null,
"Person_Title": "مشتریان",
"Person_PostalCode": null,
"Person_Phone": null,
"TollVatPercent": 3.00, // به صورت سیستمی و از تنظیمات مقدار دهی شده
"VatPercent": 6.00, // به صورت سیستمی و از تنظیمات مقدار دهی شده
"ReceiptPrice": 0.0,
"ProformaId": null,
"ProformaNumber": null,
"PriceList_Title": null,
"Imported": false,
"Currency_Title": null,
"HasVAT": false,
"CreatedDate": "2018-10-18T13:03:24.1885664",
"CreatedUserID": 2,
"ModifiedDate": "2019-08-31T10:39:08.8750117",
"ModifiedUserID": 2,
"SheetNumber": 23,
"SheetDate": "2019-10-18T00:00:00",
"DetailId": 246,
"Detail": null,
"FloatAccountId": null,
"FloatAccount": null,
"Description": null,
"BuyAndSaleMethod": 2,
"Serial": 20,
"DiscountPrice": null,
"DiscountPercent": null,
"DocumentStatus": 1,
"DocumentId": null,
"CarrierDetailId": 112,
"CarrierPrice": 100000.00000000,
"DeliveryAddress": "تهران",
"SalesmanDetailId": 111,
"SalesmanPercent": null,
"SalesmanPrice": 120000.00000000,
"NoVat": false,
"PriceListId": null,
"IsCurrency": false,
"CurrencyId": null,
"ExchangeRate": 1.000
}
متد ویرایش
مسیر : https://accounting.samyar.cloud/Invoice/Update
متد ارسال : POST
نمونه پارامترهای ارسالی جهت ویرایش هدر یک فاکتور جدید در زیر آمده است .
برای به روز رسانی فقط InvoiceId اجباری می باشد .
پارامترهای ورودی ویرایش
InvoiceId: 26
SheetDate: 2019-10-18T00:00:00
Serial: 20
DetailId: 246
FloatAccountId:
CarrierDetailId:112
SalesmanDetailId:111
DeliveryAddress: تهران
Description:
SalesmanPercent:
SalesmanPrice: 120000
CarrierPrice: 100000
PriceListId:
NoVat: false
IsCurrency: false
ExchangeRate: 1
CurrencyId:
پارامترهای خروجی ویرایش
مشابه متد ایجاد
متد حذف
مسیر : https://accounting.samyar.cloud/Invoice/Delete/{InvoiceId}
متد ارسال : POST
پارامترهای ورودی متد حذف
InvoiceId
Ex : https://accounting.samyar.cloud/Invoice/Delete/24
پارامترهای خروجی متد حذف
در صورتی که عملیات با موفقیت انجام شود MessageType برابر 3 و در صورتی که با خطا مواجه شود برابر 1 می باشد.
{
"MessageType": 1,
"Message": "به دلیل وجود اطلاعات وابسته (اقلام حواله انبار) امکان حذف وجود ندارد - برای حذف اطلاعات وابسته داخل برگه خرید رفته و حواله آن را حذف نمایید .",
"InvoiceId": 24
}
متد گرفتن یک آیتم (Get)
مسیر : https://accounting.samyar.cloud/Invoice/Get/{InvoiceId}
متد ارسال : GET
این متد کلید یک موجودیت را دریافت کرده و مقادیر مربوط با آن را برمی گرداند .
پارامترهای ورودی متد Get
InvoiceId
Ex : https://accounting.samyar.cloud/Invoice/Get/24
پارامترهای خروجی متد Get
خروجی در صورت بروز خطا
{"Message":"شما دسترسی به این آیتم ندارید","MessageType":1}
خروجی در صورت موفقیت
{
"MessageType": 0,
"Message" : null ,
"InvoiceId": 25,
"SheetNumber": 22,
"Detail_FullCode": "12030002",
"Detail_Title": "حسین اقایی",
"Detail_LedgerFloatable": false,
"FloatAccount_FullCode": null,
"FloatAccount_Title": null,
"FloatAccount_Lookup": "",
"CarrierDetail_FullCode": null,
"CarrierDetail_Title": null,
"CarrierDetail_Lookup": "",
"CarrierFloatAccount_FullCode": null,
"CarrierFloatAccount_Title": null,
"CarrierFloatAccount_Lookup": null,
"SalesmanDetail_FullCode": null,
"SalesmanDetail_Title": null,
"SalesmanFloatAccount_FullCode": null,
"SalesmanFloatAccount_Title": null,
"DeliveryId": 66,
"DeliveryNumber": 44,
"ReceiptId": null,
"ReceiptNumber": null,
"SumOfItems": 5000000.000000,
"Discount": 0.00,
"Vat": 450000.0000,
"Price": 5450000.00,
"DocumentCode": 45,
"Person_Address": "ابوذر غفاری 1پ10",
"Person_EconomicCode": null,
"Person_NationalCode": "0849954120",
"Person_Title": "حسین اقایی",
"Person_PostalCode": null,
"Person_Phone": null,
"TollVatPercent": 3.00,
"VatPercent": 6.00,
"ReceiptPrice": 0.0,
"ProformaId": null,
"ProformaNumber": null,
"PriceList_Title": null,
"Imported": false,
"Currency_Title": null,
"Currency_Lookup": "",
"FinancialYear_Title": null,
"HasVAT": false,
"CreatedDate": "2018-09-08T10:04:19.934928",
"CreatedUserID": 2,
"ModifiedDate": "2018-09-08T10:04:36.6228537",
"ModifiedUserID": 2,
"SheetDate": "2019-08-02T00:00:00",
"DetailId": 186,
"FloatAccountId": null,
"FloatAccount": null,
"Description": null,
"BuyAndSaleMethod": 2,
"Serial": 19,
"DiscountPrice": null,
"DiscountPercent": null,
"DocumentStatus": 2,
"DocumentId": 187,
"CarrierDetailId": null,
"CarrierFloatAccountId": null,
"CarrierPrice": null,
"DeliveryAddress": null,
"SalesmanDetailId": null,
"SalesmanFloatAccountId": null,
"SalesmanPercent": null,
"SalesmanPrice": null,
"NoVat": false,
"PriceListId": null,
"IsCurrency": false,
"CurrencyId": null,
"ExchangeRate": 1.000
}
متد گرفتن همه آیتم ها (GetSome)
مسیر : https://accounting.samyar.cloud/Invoice/GetSome
روش ارسال : POST
پارامترهای ورودی GetSome
MasterId: 0 // استفاده نشده
Skip: 0 // استفاده نشده
Take: 200 // حداکثر تعداد آیتم های برگشتی
OrderField: SheetNumber // مرتب سازی بر اساس
Order: asc // صعودی یا نزولی
View: 1 // استفاده نشده
پارامترهای خروجی GetSome
{
"itemCount": 23,
"startTime": "2019/09/01 10: 00:11.1135", // زمان دریافت درخواست در سرور
"endTime": "2019/09/01 10: 00:11.7785", // زمان پاسخ به درخواست در سرور
"extra": "{\"OverallCount\":23,\"SumOfItemsSum\":36423000.00000000,\"DiscountSum\":150000.00000000,\"VatSum\":3264570.00000000,\"PriceSum\":39537570.00000000}", // اطلاعات اضافی شامل تعداد و جمع ها
"values": [
{
"Detail_FullCode": null,
"Detail_Title": "مشتریان",
"Detail_LedgerFloatable": false,
"Detail_Lookup": "246;# - مشتریان;#0",
"FloatAccount_FullCode": null,
"FloatAccount_Title": null,
"FloatAccount_Lookup": "",
"CarrierDetail_FullCode": null,
"CarrierDetail_Title": null,
"CarrierDetail_Lookup": "",
"CarrierFloatAccount_FullCode": null,
"CarrierFloatAccount_Title": null,
"CarrierFloatAccount_Lookup": null,
"SalesmanDetail_FullCode": null,
"SalesmanDetail_Title": null,
"SalesmanDetail_Lookup": "",
"SalesmanFloatAccount_FullCode": null,
"SalesmanFloatAccount_Title": null,
"SalesmanFloatAccount_Lookup": null,
"DeliveryId": null,
"DeliveryNumber": null,
"ReceiptId": null,
"ReceiptNumber": null,
"SumOfItems": 0.0,
"Discount": 0.0,
"Vat": 0.0,
"Price": 0.0,
"DocumentCode": null,
"Person_Address": null,
"Person_EconomicCode": null,
"Person_NationalCode": null,
"Person_Title": null,
"Person_PostalCode": null,
"Person_Phone": null,
"TollVatPercent": 3.00,
"VatPercent": 6.00,
"ReceiptPrice": 0.0,
"ProformaId": null,
"ProformaNumber": null,
"PriceList_Title": null,
"Imported": false,
"Currency_Title": null,
"Currency_Lookup": "",
"Message": null,
"MessageType": 0,
"FinancialYear_Title": null,
"Amount": 0.0,
"Warehouse_Title": null,
"Warehouse_Code": null,
"Warehouse_Type": null,
"Goods_Title": null,
"Goods_FullCode": null,
"Unit_Title": null,
"Unit_Price": 0.0,
"HasVAT": false,
"InvoiceItem_DiscountPrice": 0.0,
"InvoiceItem_DiscountPercent": 0.0,
"InvoiceItem_Description": null,
"CreatedDate": "2018-10-18T13:03:24.1885664",
"CreatedUserID": 2,
"ModifiedDate": "2018-10-18T13:03:24.1885755",
"ModifiedUserID": 2,
"InvoiceId": 26,
"SheetNumber": 23,
"SheetDate": "2019-10-18T00:00:00",
"DetailId": 246,
"Detail": null,
"FloatAccountId": null,
"FloatAccount": null,
"Description": null,
"BuyAndSaleMethod": 2,
"Serial": 20,
"DiscountPrice": null,
"DiscountPercent": null,
"DocumentStatus": 1,
"DocumentId": null,
"CarrierDetailId": null,
"CarrierFloatAccountId": null,
"CarrierPrice": null,
"DeliveryAddress": null,
"SalesmanDetailId": null,
"SalesmanFloatAccountId": null,
"SalesmanPercent": null,
"SalesmanPrice": null,
"NoVat": false,
"PriceListId": null,
"IsCurrency": false,
"CurrencyId": null,
"ExchangeRate": 0.0
},
{ "رکورد" "بعدی" },
...,
{ "رکورد" "آخر" }
]
متد جستجو
مسیر : https://accounting.samyar.cloud/Invoice/GetSomeByMasterIdAndParams
روش ارسال : POST
از این متد برای جستجوی چند فاکتور استفاده می شود .
پارامترهای ورودی
MasterId: 0 // استفاده نشده
Skip: 0 // استفاده نشده
Take: 200 // حد اکثر تعداد آیتم خروجی
OrderField: SheetNumber // مرتب سازی بر اساس فیلد
Order: asc // صعودی یا نزولی
View: 1 // استفاده نشده
Force: false // استفاده نشده
parameters: // پارامترهای جستجو
{
"params": null, // استفاده نشده
"filter": {
"FromSheetNumber": "1",
"ToSheetNumber": "1000",
"FromSerial": "2",
"ToSerial": "800",
"FromSheetDate": "2018-03-21",
"ToSheetDate": "2020-03-20",
"Detail_Title": "علی",
"FloatAccount_Title": "مشتری",
"FromSumOfItems": "1",
"ToSumOfItems": "200000000",
"FromVat": "1",
"ToVat": "50000000",
"FromPrice": "1",
"ToPrice": "250000000",
"FromDocumentCode": "1",
"ToDocumentCode": "1000"
}
}
پارامترهای خروجی
مشابه GetSome
به روز رسانی تخفیف ها
مسیر :
https://accounting.samyar.cloud/Invoice/UpdateDiscount?id={InvoiceId}&percent={درصد تخفیف}&price={مبلغ تخفیف}روش ارسال : GET
نکته 1 : فقط یکی از پارامترهای درصد تخفیف و مبلغ تخفیف باید ارسال شود نه هر دو
نکته 2 : تخفیفات پایین فاکتور بایستی توسط این متد به روز شود نه متد Update
پارامتر های ورودی UpdateDiscount
Ex: https://accounting.samyar.cloud/Invoice/UpdateDiscount?id=25&percent=8&price=null
پارامترهای خروجی UpdateDiscount
مشابه Get
ایجاد برگه دریافت برای فاکتور
مسیر : https://accounting.samyar.cloud/Invoice/CreateReceipt?id=46
روش ارسال : POST
از این متد برای ایجاد برگه دریافت جدید برای فاکتور استفاده می شود .
پارامترهای ورودی
id: 4// ارسال به صورت queryString
پارامترهای خروجی
{
"SheetId":39,
"SheetNumber":29,
"SheetDate":"2020-11-25T00:00:00",
"Description":null,
"Items":null,
"MessageType":0,
"Message":null
}