فاکتور فروش
نام موجودیت : فاکتور فروش
نام سیستمی : 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