فاکتور


URL: https://api.hesabfa.com/v1/invoice/get

ورودی
پارامترهای اجباری:
apiKey
userId
password
loginToken
پارامتر های اجباری برای تمامی متد ها
(مشاهده توضیحات)
number شماره فاکتور مورد نظر
type نوع فاکتور ( جدول نوع فاکتور)
مثال:
{
	apiKey: 'asdfASR^%FDHdsfg456',
	userId: 'mail@example.com',
	password: '123456',	
	loginToken: 'f6b912...45fdc',
	number: 1001,
	type: 0
}
 
خروجی
آیتم های موجود در پاسخ:
Success
ErrorCode
ErrorMessage
Result
(مشاهده توضیحات)
Number شماره فاکتور
InvoiceType نوع فاکتور ( جدول نوع فاکتور)
Date تاریخ فاکتور
DueDate تاریخ سررسید فاکتور
ContactCode کد شخص
Contact شی مشخصات شخص
ContactTitle عنوان شخص در فاکتور
Sum جمع مبلغ فاکتور
Payable مبلغ قابل پرداخت فاکتور
Paid مبلغ پرداخت شده فاکتور
Rest مبلغ باقیمانده فاکتور
Note یادداشت
Reference شماره ارجاع
Sent وضعیت ارسال فاکتور
Returned وضعیت برگشتی فاکتور
Status وضعیت فاکتور ( جدول وضعیت فاکتور )
Tag فیلد متنی قابل استفاده توسط برنامه نویس
Freight هزینه حمل
WarehouseReceiptStatus وضعیت رسید یا حواله انبار فاکتور
Project پروژه
SalesmanCode کد فروشنده
InvoiceItems آرایه ای از اقلام موجود در فاکتور. هر قلم شامل ساختار زیر می باشد:
RowNumber شماره ردیف
ItemCode کد کالا یا خدمات
Item شی کالا یا خدمات
Description شرح کالا یا خدمات
Unit واحد
Quantity تعداد یا مقدار
UnitPrice قیمت واحد
Sum تعداد * قیمت واحد
Discount تخفیف
Tax مالیات
TotalAmount مبلغ کل
مثال:
{
	Success: true,
	ErrorCode: 0,
	ErrorMessage: '',
	Result:{
		Number: '1001',
		Reference: '',
		Date: '2018-07-17 17:30:12',
		DueDate: '2018-07-17 17:30:12',
		ContactCode: '000001',
		Contact: {...}
		ContactTitle: 'سعید محمدی',
		Sum: '109000',
		Payable: '109000',
		Paid: 0,
		Rest: 109000,
		Note: '',
		Sent: false,
		Returned: false,
		InvoiceType: 0,
		Status: 2,
		Tag: '',
		Freight: 0,
		WarehouseReceiptStatus: 1,
		Project: 'پروژه یک',
		SalesmanCode: 10001,
		InvoiceItems: [{
			RowNumber: 1,
			Description: 'Galaxy J7 گوشی سامسونگ',
			ItemCode: '0000001',
			Item: {...}
			Unit: 'عدد',
			Quantity: 1,
			UnitPrice: 100000,
			Sum: 100000,
			Discount: 0,
			Tax: 9000,
			TotalAmount: 109000
		}]
	}
}
 

توضیح فیلد WarehouseReceiptStatus: این فیلد وضعیت رسید یا حواله انبار فاکتور را در صورت فعال بودن سیستم انبارداری نشان می دهد.
مقادیر:

  • 0: رسید یا حواله انبار صادر نشده است.
  • 1: رسید یا حواله انبار ناقص است.
  • 2: رسید یا حواله انبار کامل است.

URL: https://api.hesabfa.com/v1/invoice/getById

ورودی
پارامترهای اجباری:
apiKey
userId
password
loginToken
پارامتر های اجباری برای تمامی متد ها
(مشاهده توضیحات)
id Id فاکتور مورد نظر
مثال:
{
	apiKey: 'asdfASR^%FDHdsfg456',
	userId: 'mail@example.com',
	password: '123456',
	loginToken: 'f6b912...45fdc',
	id: 1
}
 
خروجی
آیتم های موجود در پاسخ:
Success
ErrorCode
ErrorMessage
Result
(مشاهده توضیحات)
Number شماره فاکتور
InvoiceType نوع فاکتور ( جدول نوع فاکتور)
Date تاریخ فاکتور
DueDate تاریخ سررسید فاکتور
ContactCode کد شخص
Contact شی مشخصات شخص
ContactTitle عنوان شخص در فاکتور
Sum جمع مبلغ فاکتور
Payable مبلغ قابل پرداخت فاکتور
Paid مبلغ پرداخت شده فاکتور
Rest مبلغ باقیمانده فاکتور
Note یادداشت
Reference شماره ارجاع
Sent وضعیت ارسال فاکتور
Returned وضعیت برگشتی فاکتور
Status وضعیت فاکتور ( جدول وضعیت فاکتور )
Tag فیلد متنی قابل استفاده توسط برنامه نویس
Freight هزینه حمل
WarehouseReceiptStatus وضعیت رسید یا حواله انبار فاکتور
Project پروژه
SalesmanCode کد فروشنده
InvoiceItems آرایه ای از اقلام موجود در فاکتور. هر قلم شامل ساختار زیر می باشد:
RowNumber شماره ردیف
ItemCode کد کالا یا خدمات
Item شی کالا یا خدمات
Description شرح کالا یا خدمات
Unit واحد
Quantity تعداد یا مقدار
UnitPrice قیمت واحد
Sum تعداد * قیمت واحد
Discount تخفیف
Tax مالیات
TotalAmount مبلغ کل
مثال:
{
	Success: true,
	ErrorCode: 0,
	ErrorMessage: '',
	Result:{
		Number: '1001',
		Reference: '',
		Date: '2018-07-17 17:30:12',
		DueDate: '2018-07-17 17:30:12',
		ContactCode: '000001',
		Contact: {...}
		ContactTitle: 'سعید محمدی',
		Sum: '109000',
		Payable: '109000',
		Paid: 0,
		Rest: 109000,
		Note: '',
		Sent: false,
		Returned: false,
		InvoiceType: 0,
		Status: 2,
		Tag: '',
		Freight: 0,
		WarehouseReceiptStatus: 1,
		Project: 'پروژه یک',
		SalesmanCode: 10001,
		InvoiceItems: [{
			RowNumber: 1,
			Description: 'Galaxy J7 گوشی سامسونگ',
			ItemCode: '0000001',
			Item: {...}
			Unit: 'عدد',
			Quantity: 1,
			UnitPrice: 100000,
			Sum: 100000,
			Discount: 0,
			Tax: 9000,
			TotalAmount: 109000
		}]
	}
}
 

توضیح فیلد WarehouseReceiptStatus: این فیلد وضعیت رسید یا حواله انبار فاکتور را در صورت فعال بودن سیستم انبارداری نشان می دهد.
مقادیر:

  • 0: رسید یا حواله انبار صادر نشده است.
  • 1: رسید یا حواله انبار ناقص است.
  • 2: رسید یا حواله انبار کامل است.

URL: https://api.hesabfa.com/v1/invoice/getinvoices

ورودی
پارامترهای اجباری:
apiKey
userId
password
loginToken
پارامتر های اجباری برای تمامی متد ها
(مشاهده توضیحات)
type نوع فاکتور ( جدول نوع فاکتور )
پارامترهای اختیاری:
queryInfo شی فیلتر و مرتب سازی (مشاهده توضیحات)
مثال:
{
	apiKey: 'asdfASR^%FDHdsfg456',
	userId: 'mail@example.com',
	password: '123456',
	loginToken: 'f6b912...45fdc',
	type: 0,
	queryInfo:{
		SortBy: 'Date',
		SortDesc: true,
		Take: 20,
		Skip: 0
	}
}
 
خروجی
آیتم های موجود در پاسخ:
Success
ErrorCode
ErrorMessage
Result
(مشاهده توضیحات)
درون فیلد result آرایه ای از فاکتورها قرار میگیرد.
مثال:
{
	Success: true,
	ErrorCode: 0,
	ErrorMessage: "",
	Result: {
		TotalCount:2,          ------> تعداد کل 
		FilteredCount:2,        ------> تعداد فیلتر شده 
		From:1,                 ------> شماره ردیف شروع 
		To:2,                   ------> شماره ردیف خاتمه 
		List:[{                 ------> لیست فاکتورها 
			Number: '1002',
			Reference: '',
			Date: '2018-07-19 14:22:50',
			DueDate: '2018-07-19 14:22:50',
			ContactCode: '000001',
			Contact: {...}
			ContactTitle: 'سعید محمدی',
			Sum: '228000',
			Payable: '228000',
			Paid: 0,
			Rest: 228000,
			Note: '',
			Sent: false,
			Returned: false,
			InvoiceType: 0,
			Status: 2,
			Tag: '',
			Freight: 0,
			WarehouseReceiptStatus: 1,
			Project: 'پروژه یک',
			SalesmanCode: 10001
		},{
			Number: '1001',
			Reference: '',
			Date: '2018-07-17 17:30:12',
			DueDate: '2018-07-17 17:30:12',
			ContactCode: '000001',
			Contact: {...}
			ContactTitle: 'سعید محمدی',
			Sum: '109000',
			Payable: '109000',
			Paid: 0,
			Rest: 109000,
			Note: '',
			Sent: false,
			Returned: false,
			InvoiceType: 0,
			Status: 2,
			Tag: '',
			Freight: 0,
			WarehouseReceiptStatus: 1,
			Project: 'پروژه یک',
			SalesmanCode: 10001
		}]
	}
}
 
URL: https://api.hesabfa.com/v1/invoice/save

ورودی
پارامترهای اجباری:
apiKey
userId
password
loginToken
پارامتر های اجباری برای تمامی متد ها
(مشاهده توضیحات)
invoice شی نگهدارنده اطلاعات فاکتور
شامل:
* آیتم های ستاره دار ضروری هستند.
Number شماره فاکتور
در صورتی که شماره فاکتور را وارد نکنید، فاکتور با شماره اتوماتیک ذخیره می شود.
در صورتی که شماره فاکتور وارد شود و موجود باشد، اطلاعات ویرایش می شود.
در صورتی که شماره فاکتور وارد شود و موجود نباشد، فاکتور با آن شماره ذخیره خواهد شد.
*InvoiceType نوع فاکتور ( جدول نوع فاکتور )
*ContactCode کد شخص
ContactTitle عنوان مشتری/فروشنده در فاکتور
*Date تاریخ فاکتور
*DueDate تاریخ سر رسید فاکتور
Note یادداشت و توضیحات
Reference شماره ارجاع
Status وضعیت فاکتور ( جدول وضعیت فاکتور )
Tag فیلد متنی قابل استفاده توسط برنامه نویس
Freight هزینه حمل
WarehouseReceiptStatus وضعیت رسید یا حواله انبار فاکتور
Project پروژه
SalesmanCode کد فروشنده
InvoiceItems آرایه ای از اقلام فاکتور، شامل ساختار زیر:
RowNumber شماره ردیف
*ItemCode کد کالا یا خدمات
*Description شرح کالا یا خدمات
Unit واحد کالا
*Quantity تعداد یا مقدار
*UnitPrice قیمت واحد
*Discount تخفیف
*Tax مالیات
مثال:
{
     apiKey: 'asdfASR^%FDHdsfg456',
     userId: 'mail@example.com',
     password: '123456',
     loginToken: 'f6b912...45fdc',
     invoice:{
		Number: '1001',
		Reference: '',
		Date: '2018-07-17 17:30:12',
		DueDate: '2018-07-17 17:30:12',
		ContactCode: '000001',
		ContactTitle: 'سعید محمدی',
		Note: '',
		InvoiceType: 0,
		Status: 2,
		Tag: '',
		Freight: 0,
		WarehouseReceiptStatus: 1,
		Project: 'پروژه یک',
		SalesmanCode: 10001,
		InvoiceItems: [{
			RowNumber: 1,
			Description: 'Galaxy J7 گوشی سامسونگ',
			ItemCode: '0000001',
			Unit: 'عدد',
			Quantity: 1,
			UnitPrice: 100000,
			Discount: 0,
			Tax: 9000
		}]
	}
}
 

توضیح فیلد WarehouseReceiptStatus: این فیلد وضعیت رسید یا حواله انبار فاکتور را در صورت فعال بودن سیستم انبارداری نشان می دهد.
مقادیر:

  • 0: رسید یا حواله انبار صادر نشده است.
  • 1: رسید یا حواله انبار ناقص است.
  • 2: رسید یا حواله انبار کامل است.

خروجی
آیتم های موجود در پاسخ:
Success
ErrorCode
ErrorMessage
Result
(مشاهده توضیحات)
در صورت موفقیت آمیز بودن، شی فاکتور ذخیره شده یا ویرایش شده درون Result قرار می گیرد.
مثال:
{
	Success: true,
	ErrorCode: 0,
	ErrorMessage: "",
	Result: {
		Number: '1001',
		Reference: '',
		Date: '2018-07-17 17:30:12',
		DueDate: '2018-07-17 17:30:12',
		ContactCode: '000001',
		Contact: {...}
		ContactTitle: 'سعید محمدی',
		Sum: '109000',
		Payable: '109000',
		Paid: 0,
		Rest: 109000,
		Note: '',
		Sent: false,
		Returned: false,
		InvoiceType: 0,
		Status: 2,
		Tag: '',
		Freight: 0,
		WarehouseReceiptStatus: 1,
		Project: 'پروژه یک',
		SalesmanCode: 10001,
		InvoiceItems: [{
			RowNumber: 1,
			Description: 'Galaxy J7 گوشی سامسونگ',
			ItemCode: '0000001',
			Item: {...}
			Unit: 'عدد',
			Quantity: 1,
			UnitPrice: 100000,
			Sum: 100000,
			Discount: 0,
			Tax: 9000,
			TotalAmount: 109000
		}]
	}
}
 
URL: https://api.hesabfa.com/v1/invoice/delete

ورودی
پارامترهای اجباری:
apiKey
userId
password
loginToken
پارامتر های اجباری برای تمامی متد ها
(مشاهده توضیحات)
number شماره فاکتور مورد نظر
type نوع فاکتور ( جدول نوع فاکتور)
مثال:
{
	apiKey: 'asdfASR^%FDHdsfg456',
	userId: 'mail@example.com',
	password: '123456',
	loginToken: 'f6b912...45fdc',
	number: 1001,
	type: 0
}
 
خروجی
آیتم های موجود در پاسخ:
Success
ErrorCode
ErrorMessage
Result
(مشاهده توضیحات)
در صورت موفقیت آمیز بودن مقدار true درون Result قرار می گیرد.
مثال:
{
	Success: true,
	ErrorCode: 0,
	ErrorMessage: "",
	Result: true
}
 
URL: https://api.hesabfa.com/v1/invoice/savepayment
توجه
  1. ثبت پرداخت فقط به صورت واریز به بانک امکان پذیر است. لذا باید کد بانک تعریف شده در پنل حسابفای کاربر مشخص باشد.

ورودی
پارامترهای اجباری:
apiKey
userId
password
loginToken
پارامتر های اجباری برای تمامی متد ها
(مشاهده توضیحات)
type نوع فاکتور ( جدول نوع فاکتور)
number شماره فاکتور فروش
bankCode کد بانک
date تاریخ تراکنش
amount مبلغ تراکنش
transactionNumber شماره تراکنش
description توضیحات تراکنش
transactionFee هزینه یا کارمزد تراکنش
مثال:
{
	apiKey: 'asdfASR^%FDHdsfg456',
	userId: 'mail@example.com',
	password: '123456',
	loginToken: 'f6b912...45fdc',
	type: 0,
	number: 1001,
	bankCode: '0001',
	date: '2018-07-17 17:32:11',
	amount: 109000,
	transactionNumber: '255496387',
	description: 'پرداخت آنلاین',
	transactionFee: 0
}
 

توضیحات فیلد transactionFee: در صورتی که به ازای پرداخت آنلاین مبلغی بابت هزینه تراکنش از حساب شما کسر می شود این هزینه را می توانید در این فیلد ثبت کنید تا سند هزینه به طور اتوماتیک صادر شود.

خروجی
آیتم های موجود در پاسخ:
Success
ErrorCode
ErrorMessage
Result
(مشاهده توضیحات)
در صورت موفقیت آمیز بودن مقدار true درون Result قرار می گیرد.
مثال:
{
	Success: true,
	ErrorCode: 0,
	ErrorMessage: "",
	Result: true
}
 
URL: https://api.hesabfa.com/v1/invoice/getonlineinvoiceurl
توجه
  1. این متد در حال حاظر صرفا برای فاکتورهای فروش فعال است.
  2. در صورتی که درگاه پرداختی اینترنتی فعال نشده باشد، امکان دریافت URL فاکتور آنلاین وجود ندارد.
  3. برای فعالسازی درگاه پرداختی اینترنتی از منوی تنظیمات، تنظیمات فاکتور آنلاین را انتخاب کنید.

ورودی
پارامترهای اجباری:
apiKey
userId
password
loginToken
پارامتر های اجباری برای تمامی متد ها
(مشاهده توضیحات)
number شماره فاکتور مورد نظر
type نوع فاکتور ( جدول نوع فاکتور)
مثال:
{
	apiKey: 'asdfASR^%FDHdsfg456',
	userId: 'mail@example.com',
	password: '123456',
	loginToken: 'f6b912...45fdc',
	number: 1001,
	type: 0
}
 
خروجی
آیتم های موجود در پاسخ:
Success
ErrorCode
ErrorMessage
Result
(مشاهده توضیحات)
در صورت موفقیت آمیز بودن مقدار URL فاکتور آنلاین درون Result قرار می گیرد.
مثال:
{
	Success: true,
	ErrorCode: 0,
	ErrorMessage: '',
	Result: "https://app.hesabfa.com/public/invoice?token=FT2bEEe134vmseXMK"
}
 
URL: https://api.hesabfa.com/v1/invoice/SaveWarehouseReceipt

با فراخوانی این متد رسید یا حواله انبار برای فاکتور خرید یا فروش صادر می گردد. در صورتی که کالاهای فاکتور در چندین انبار مختلف وجود داشته باشند به ازای هر انبار باید یکبار این متد را فراخوانی کرد و در هر فراخوانی کالاها و تعداد مورد نیاز به تفکیک انبار ذکر گردد.

نکته ها
  • در صورتی که مقدار پارامتر deleteOldReceipts=true باشد، کلیه حواله های قبلی صادر شده برای فاکتور حذف خواهند شد و حواله جدید صادر می شود.
  • کلیه آیتم های باید از نوع کالا و با قابلیت کنترل موجودی باشند در غیر اینصورت حواله ثبت نخواهد شد.
ورودی
پارامترهای اجباری:
apiKey
userId
password
loginToken
پارامتر های اجباری برای تمامی متد ها
(مشاهده توضیحات)
deleteOldReceipts آیا رسید یا حواله های قدیمی برای این فاکتور حذف شوند؟
receipt شی نگهدارنده اطلاعات حواله
شامل:
* آیتم های ستاره دار ضروری هستند.
*WarehouseCode کد انبار
*InvoiceNumber شماره فاکتور
*InvoiceType نوع فاکتور ( جدول نوع فاکتور )
Date تاریخ حواله
Note یادداشت و توضیحات
Freight هزینه حمل
Delivery تحویل (در محل انبار)
Project پروژه
*Items آرایه ای از اقلام حواله، شامل ساختار زیر:
*ItemCode کد کالا
*Quantity تعداد
Reference ارجاع
Note توضیحات
مثال:
{
     apiKey: 'asdfASR^%FDHdsfg456',
     userId: 'mail@example.com',
     password: '123456',
     loginToken: 'f6b912...45fdc',
     deleteOldReceipts: true,
     receipt:{
		WarehouseCode: 11,
		InvoiceNumber: 1004,
		InvoiceType: 0,
		Date: '2018-07-17',
		Notes: '',
		Freight: 0,
		Delivery: '',
		Project: 'پروژه فروشگاه آنلاین',
		Items: [
		{
		    ItemCode: 6,
		    Quantity: 1,
		    Reference: 'PQ-1224',
		    Notes: ''
		},
		{
		    ItemCode: 7,
		    Quantity: 2,
		},
		...
		]
	}
}
 
خروجی
آیتم های موجود در پاسخ:
Success
ErrorCode
ErrorMessage
Result
(مشاهده توضیحات)
در صورت موفقیت آمیز بودن، شی حواله ذخیره شده یا ویرایش شده درون Result قرار می گیرد.
مثال:
{
	Success: true,
	ErrorCode: 0,
	ErrorMessage: "",
	Result: {
        "Id": 1060, 
        "Number": 1004, 
        "InvoiceNumber": "1004",
        "InvoiceType": 0, 
        "WarehouseCode": 11, 
        "Date": "2018-06-07T00:00:00", 
        "Notes": " حواله خروج از انبار - فاکتور فروش # 1004", 
        "Delivery": "در محل انبار", 
        "Freight": "توسط خودشان", 
        "Project": 'پروژه فروشگاه آنلاین',
        "Items": [ 
            { 
                "Id": 2062, 
                "ItemCode": “000006”, 
                "Reference": "PQ-1224", 
                "Notes": "", 
                "Item": {…}, 
                "Quantity": 1.0 
            }, 
            { 
                "Id": 2063, 
                "ItemCode": “000007”, 
                "Reference": "", 
                "Notes": "", 
                "Item": {…}, 
                "Quantity": 2.0 
            } 
        ] 
    } 
}