فاکتور فروش

نام موجودیت : فاکتور فروش
نام سیستمی : Invoice
مسیر api ها : https://accounting.hoofer.cloud/Invoice
کلید اصلی : InvoiceId

ویژگیها (properties)

لیست فیلدهای موجودیت هدر فاکتور فروش در زیر آمده است .

ویژگی عنوان نوع ثبت نوع موجودیت اصلی شرح
InvoiceId شناسه سیستمی int کلید اصلی (داخلی)
SheetNumber شماره برگه سیستمی int شماره فاکتور
SheetDate تاریخ فاکتور اجباری date
DetailId شناسه مشتری اجباری int تفصیلی
Detail_FullCode کد کامل تفصیلی فقط خواندنی string تفصیلی
Detail_LedgerFloatable تفصیلی مشتری شناور پذیر است ؟ فقط خواندنی boolean معین فقط خواندنی
Detail_Lookup کد و عنوان مشتری فقط خواندنی string تفصیلی سیستمی و فقط خواندنی
Level5Id شناسه تفصیلی2 اجباری مشروط int تفصیلی اگر معین تفصیلی 2 پذیر باشد اجباری می باشد
Level5_FullCode کد کامل تفصیلی2 فقط خواندنی string تفصیلی
Level5_Title عنوان تفصیلی2 فقط خواندنی string تفصیلی فقط خواندنی
Level5_Lookup کد و عنوان تفصیلی2 فقط خواندنی 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 نرخ تبدیل ارز اجباری decimal برای ریال برابر 1 خواهد بود
Ledger_FullCode کد کامل معین فقط خواندنی string معین
Ledger_Title عنوان معین فقط خواندنی string معین
Ledger_Lookup کد و عنوان معین فقط خواندنی string معین
Ledger_Id شناسه معین اجباری int معین

متد ایجاد

مسیر : https://accounting.hoofer.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.hoofer.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.hoofer.cloud/Invoice/Delete/{InvoiceId}
متد ارسال : POST

پارامترهای ورودی متد حذف

InvoiceId
Ex : https://accounting.hoofer.cloud/Invoice/Delete/24

پارامترهای خروجی متد حذف

در صورتی که عملیات با موفقیت انجام شود MessageType برابر 3 و در صورتی که با خطا مواجه شود برابر 1 می باشد .

{
  "MessageType": 1,
  "Message": "به دلیل وجود اطلاعات وابسته (اقلام حواله انبار) امکان حذف وجود ندارد - برای حذف اطلاعات وابسته داخل برگه خرید رفته و حواله آن را حذف نمایید .",
  "InvoiceId": 24
}

متد گرفتن یک آیتم (Get)

مسیر : https://accounting.hoofer.cloud/Invoice/Get/{InvoiceId}
متد ارسال : GET
این متد کلید یک موجودیت را دریافت کرده و مقادیر مربوط با آن را برمی گرداند .

پارامترهای ورودی متد Get
InvoiceId
Ex : https://accounting.hoofer.cloud/Invoice/Get/24
پارامترهای خروجی متد Get
خروجی در صورت بروز خطا
{"Message":"شما دسترسی به این آیتم ندارید","MessageType":1}
خروجی در صورت موفقیت
{
  "MessageType": 0,
  "Message" :  null ,
  "InvoiceId": 25,
  "SheetNumber": 22,
  "Detail_FullCode": "12030002",
  "Detail_Title": "حسین اقایی",
  "Detail_LedgerFloatable": false,
  "Level5_FullCode": null,
  "Level5_Title": null,
  "Level5_Lookup": "",
  "CarrierDetail_FullCode": null,
  "CarrierDetail_Title": null,
  "CarrierDetail_Lookup": "",
  "CarrierLevel5_FullCode": null,
  "CarrierLevel5_Title": null,
  "CarrierLevel5_Lookup": null,
  "SalesmanDetail_FullCode": null,
  "SalesmanDetail_Title": null,
  "SalesmanLevel5_FullCode": null,
  "SalesmanLevel5_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,
  "Level5Id": null,
  "Level5": null,
  "Description": null,
  "BuyAndSaleMethod": 2,
  "Serial": 19,
  "DiscountPrice": null,
  "DiscountPercent": null,
  "DocumentStatus": 2,
  "DocumentId": 187,
  "CarrierDetailId": null,
  "CarrierLevel5Id": null,
  "CarrierPrice": null,
  "DeliveryAddress": null,
  "SalesmanDetailId": null,
  "SalesmanLevel5Id": null,
  "SalesmanPercent": null,
  "SalesmanPrice": null,
  "NoVat": false,
  "PriceListId": null,
  "IsCurrency": false,
  "CurrencyId": null,
  "ExchangeRate": 1.000,
  "LedgerId": null,
  "Ledger_Title": null,
  "Ledger_FullCode": null,
  "Ledger_Lookup": null
}

متد گرفتن همه آیتم ها (GetSome)

مسیر : https://accounting.hoofer.cloud/Invoice/GetSome
روش ارسال : POST

پارامترهای ورودی GetSome
MasterId: 0 // استفاده نشده
Skip: 0 // استفاده نشده
Take: 200 // حداکثر تعداد آیتم های برگشتی
OrderField: // مرتب سازی بر اساس
Order: asc // صعودی یا نزولی
View: 1 // استفاده نشده
پارامترهای خروجی GetSome
{
  "itemCount": 23,
  "startTime": "2019/09/01 10: 00:11.1135", // زمان دریافت درخواست در سرور
  "endTime": "2019/09/01 10: 00:11.7785", // زمان پاسخ به درخواست در سرور
  "extra": "\r\n\t{\r\n\t\t\"OverallCount\":23,\r\n\t\t\"SumOfItemsSum\":36423000.00000000,\r\n\t\t\"DiscountSum\":150000.00000000,\r\n\t\t\"VatSum\":3264570.00000000,\r\n\t\t\"PriceSum\":39537570.00000000\r\n\t}", // اطلاعات اضافی شامل تعداد و جمع ها
  "values": [
    {
      "Detail_FullCode": null,
      "Detail_Title": "مشتریان",
      "Detail_LedgerFloatable": false,
      "Detail_Lookup": "246;# - مشتریان;#0",
      "Level5_FullCode": null,
      "Level5_Title": null,
      "Level5_Lookup": "",
      "CarrierDetail_FullCode": null,
      "CarrierDetail_Title": null,
      "CarrierDetail_Lookup": "",
      "CarrierLevel5_FullCode": null,
      "CarrierLevel5_Title": null,
      "CarrierLevel5_Lookup": null,
      "SalesmanDetail_FullCode": null,
      "SalesmanDetail_Title": null,
      "SalesmanDetail_Lookup": "",
      "SalesmanLevel5_FullCode": null,
      "SalesmanLevel5_Title": null,
      "SalesmanLevel5_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,
      "Level5Id": null,
      "Level5": null,
      "Description": null,
      "BuyAndSaleMethod": 2,
      "Serial": 20,
      "DiscountPrice": null,
      "DiscountPercent": null,
      "DocumentStatus": 1,
      "DocumentId": null,
      "CarrierDetailId": null,
      "CarrierLevel5Id": null,
      "CarrierPrice": null,
      "DeliveryAddress": null,
      "SalesmanDetailId": null,
      "SalesmanLevel5Id": null,
      "SalesmanPercent": null,
      "SalesmanPrice": null,
      "NoVat": false,
      "PriceListId": null,
      "IsCurrency": false,
      "CurrencyId": null,
      "ExchangeRate": 0.0,
      "LedgerId": null,
      "Ledger_Title": null,
      "Ledger_FullCode": null,
      "Ledger_Lookup": null
    },
    { "رکورد بعدی" },
    ...,
    { "رکورد آخر" }
  ]

متد جستجو

مسیر : https://accounting.hoofer.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.hoofer.cloud/Invoice/UpdateDiscount?id={InvoiceId}&percent={درصد تخفیف}&price={مبلغ تخفیف} روش ارسال : GET
نکته 1 : فقط یکی از پارامترهای درصد تخفیف و مبلغ تخفیف باید ارسال شود نه هر دو
نکته 2 : تخفیفات پایین فاکتور بایستی توسط این متد به روز شود نه متد Update

پارامتر های ورودی UpdateDiscount
Ex: https://accounting.hoofer.cloud/Invoice/UpdateDiscount?id=25&percent=8&price=null
پارامترهای خروجی UpdateDiscount
مشابه Get
Previous آیتم فاکتور فروش
فهرست