Tài liệu Open API tích hợp AMIS Kế toán Doanh nghiệp

I. Giới thiệu

1. Thông tin cần trước khi kết nối

Thông tin Diễn giải
app_id Đối tác/KH có nhu cầu kết nối Amis kế toán cần đăng ký sử dụng API, đầu mối tiếp nhận là NVKD.
access_code Lấy từ ứng dụng Amis kế toán
org_company_code Tên phần mềm/KH kết nối (dùng để phân biệt các khách hàng/dữ liệu của đối tác)
last_sync_time Truyền thêm mốc thời gian để lấy những danh mục có thay đổi từ thời điểm đó trở về trước
Callback Nhận kết quả xử lý của quá trình tích hợp.

(Cần đăng ký và xây đựng theo chuẩn của Amis kế toán)

Hướng dẫn build project callback

 

2. Thông tin chi tiết để kết nối

Thông tin Diễn giải
Base url https://actapp.misa.vn
Token url (lấy access_token) /api/oauth/actopen/connect
Get dictionary (lấy danh sách danh mục) /apir/sync/actopen/get_dictionary
Save dictionary (tạo danh mục) /apir/sync/actopen/save_dictionary
Save voucher (tạo yêu cầu sinh CT) /api/sync/actopen/save

 

3. Mô tả cấu trúc API AMIS Kế toán

Thông tin Diễn giải
Url Theo từng API cụ thể
Method Get/Post (Theo từng API cụ thể)
Params Không sử dụng
Header X-MISA-AccessToken: {access_token}
Body Content-Type: application/json (Theo từng API cụ thể)
Response {

    “Success”:true/false,

    “ErrorCode”: “Mã lỗi”,

    “ErrorMessage”: “Mô tả lỗi”,

    “Data”: “Dữ liệu phản hồi”

}

 

4. Hướng dẫn xử lý kết quả của API (Response)

Thông tin Diễn giải
Success Trạng thái phản hồi của API

True: Thành công

False: Thất bại

ErrorCode Mã lỗi trả về (VD: InvalidParam)
ErrorMessage Mô tả về thông tin lỗi (VD: Mã kết nối access_code … không hợp lệ)
Data Kết quả trả về của mỗi API
Cách kiểm tra Response Kiểm tra Success -> kiểm tra ErrorCode → xử lý lỗi -> Kiểm tra Data
API thực hiện luồng bất đồng bộ Hệ thống sẽ ghi nhận kết quả từ API, việc Request API thành công không có nghĩa là dữ liệu đã đúng. Dữ liệu đúng là dữ liệu tạo Thành công Chứng từ

 

5. Các bước thực hiện

Thông tin Diễn giải
Đăng ký sử dụng API Đăng ký sử dụng API, callback

Nhận về app_id

Thực hiện lấy access_code Tài khoản lấy access_code cần có quyền quản trị lại Dữ liệu muốn kết nối

Xem hướng dẫn

Thực hiện lấy access_token Call api để lấy được access_token lưu trữ 12h để sử dụng cho các API về sau
Thực hiện lấy mã cơ cấu tổ chức (branch_id) Dùng để xác định dữ liệu đó sẽ được đi vào cơ cấu tổ chức nào trong hệ thống dữ liệu của Amis kế toán
Đồng bộ Danh mục

(Tạo mới/ Lấy từ Amis kế toán về)

Thực hiện đồng bộ dữ liệu của hệ thống ERP và Amis kế toán. Nếu dữ liệu Amis kế toán của Đối tác/KH đã có thì thực hiện lấy về, nếu chưa có thì Tạo mới
Tạo Yêu cầu sinh CT Tạo yêu cầu sinh CT từ dữ liêu ERP
Thực hiện tạo chứng từ từ dữ liệu gửi qua API Từ Yêu cầu sinh CT được tạo từ API, thực hiện tạo thành chứng từ kế toán

Xem hướng dẫn

Kiểm tra và nghiệm thu dữ liệu được tạo từ API Confirm dữ liệu với end user và nghiệm thu
Postman tham khảo Tải về

Sau khi tải về import vào postman và config script các thông tin cần thiết

Callback Hướng dẫn build project callback

 

II. API lấy mã kết nối

1. Mô tả về API

Sử dụng khi kết nối với ứng dụng AMIS kế toán để lấy access_token phục vụ cho các API về sau.

Thông tin Diễn giải
URL https://actapp.misa.vn/api/oauth/actopen/connect
Method Post
Body request {

    “app_id“: “{app_id}”,

    “access_code“: “{access_code}”,

    “org_company_code“: {org_company_code}

}

Response {

    “Success“: true,

    “ErrorMessage“: “”,

    “Data“: “[Danh sách trả về]”

}

Lấy đúng access_token từ Data (access_token hiệu lực 12h, giá trị của token được trả về theo thông tin expired_time)

 

2. Mã lỗi thường gặp

Mã lỗi Mô tả Phương án xử lý
Exception Lỗi chưa xác định được nguyên nhân Liên hệ kênh hỗ trợ của MISA
InvalidAppID Lỗi sai AppID (có thể do đang không sử dụng đúng appid do AMIS kế toán cung cấp cho dự án) Dùng đúng app_id được cung cấp khi đăng ký, hoặc dúng appi_id của đơn vị đã đăng ký
InvalidParam Tham số không hợp lệ Kiểm tra lại tham số đầu vào, xem thêm mô tả ở ErrorMessage
DBAmisNotConnectDBACT Chưa thiết lập kết nối với dữ liệu kế toán nào Kiểm tra thiết lập kết nối tại ứng dụng Amis kế toán
AppIDDisconnect Đã ngắt kết nối ứng dụng app_id đã bị ngắt kết nối, muốn kết nối lại, liên hệ kênh hỗ trợ của MISA

 

III. API lấy danh mục

3.1. Đối tượng

3.1.1. Mô tả về API

Thông tin Diễn giải
URL /apir/sync/actopen/get_dictionary
Method Post
Body request {

    “data_type“: 1, //kiểu dữ liệu lấy về

    “skip“: 0, //số lượng bỏ qua

    “take“: 1000, //số lượng lấy về

    “app_id“: “{app_id}, //app_id được cung cấp

    “last_sync_time”: “{last_sync_time}”

}

Response {

    “Success“: true,

    “ErrorMessage“: “”,

    “Data“: “[Danh sách account_object trả về]”

}

Danh sách đối tượng trả về Data khi Response thành công

 

3.1.2. Mô tả đối tượng – account_object

Tên trường Kiểu dữ liệu Diễn giải
gender int Giới tính

0: nữ

1: nam

number_of_dependent int default: 0
account_object_type int 0: là tổ chức

1: là cá nhân

is_vendor bool Là nhà cung cấp .(Default: false)
is_customer Bool Là khách hàng .(Default: false)
is_employee Bool Là nhân viên .(Default: false)
organization_unit_id Guid Bắt buộc với is_employee = true

(lấy ở API get_dictionary với data_type = 6)

inactive Bool Ngừng theo dõi
agreement_salary decimal Lương thoả thuận.(defaul: 0.0)

Dành cho nhân viên (is_employee: true)

salary_coefficient decimal Hệ số lương Defaul: 0.0
insurance_salary decimal Lương đóng bảo hiểm(defaul: 0.0)
maximize_debt_amount decimal Số nợ tối đa.(defaul: 0.0)
account_object_id Guid Id đối tượng
account_object_code String Mã đối tương
account_object_name String Tên đối tượng
address String Địa chỉ
country String Quốc gia
company_tax_code String MST
is_same_address Bool Cùng địa chỉ với địa chỉ giao hàng địa chỉ khách hàng
account_object_group_id_list Guid Id của nhóm KH/NCC
account_object_group_code_list string Code của nhóm KH/NCC
account_object_group_name_list string Tên của nhóm KH/NCC
branch_id Guid Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
is_remind_debt Bool Tắt/bật tính năng nhắc nợ tự động
created_date string Ngày tạo
created_by string Người tạo
modified_date string Ngày sửa
modified_by string Người sửa
Thông tin khác https://actdocs.misa.vn/g2/graph/ACTOpenAPIHelp/index.html#5-1

 

3.1.3. Mã lỗi thường gặp

Mã lỗi Mô tả Phương án xử lý
Exception Lỗi chưa xác định được nguyên nhân Liên hệ kênh hỗ trợ của MISA
InvalidAppID Lỗi sai AppID (có thể do đang không sử dụng đúng appid do AMIS kế toán cung cấp cho dự án) Dùng đúng app_id được cung cấp khi đăng ký, hoặc dúng appi_id của đơn vị đã đăng ký
InvalidToken Lỗi do token không hợp lệ Thực hiện gọi lại API lấy access_token mới
ExpiredToken Lỗi do token đã hết hạn Thực hiện gọi lại API lấy access_token mới
InvalidParam Tham số không hợp lệ Kiểm tra lại tham số đầu vào, xem thêm mô tả ở ErrorMessage
DBAmisNotConnectDBACT Chưa thiết lập kết nối với dữ liệu kế toán nào Kiểm tra thiết lập kết nối tại ứng dụng Amis kế toán
InvalidAccessToken Lỗi do mã truy cập không hợp lệ Thực hiện gọi lại API lấy access_token mới
AppIDDisconnect Đã ngắt kết nối ứng dụng app_id đã bị ngắt kết nối, muốn kết nối lại, liên hệ kênh hỗ trợ của MISA

 

3.2. Vật tư

3.2.1. Mô tả về API

Thông tin Diễn giải
URL /apir/sync/actopen/get_dictionary
Method Post
Body request {

    “data_type“: 2, //kiểu dữ liệu lấy về

    “skip“: 0, //số lượng bỏ qua

    “take“: 1000, //số lượng lấy về

    “app_id“: “{app_id}, //app_id được cung cấp

    “last_sync_time”: “{last_sync_time}”

}

Response {

    “Success“: true,

    “ErrorMessage“: “”,

    “Data“: “[Danh sách inventory_item trả về]”

}

Danh sách đối tượng trả về Data khi Response thành công

 

3.2.2. Mô tả đối tượng – inventory_item

Tên trường Kiểu dữ liệu Bắt buộc Diễn giải
inventory_item_id Guid x Id vật tư/hàng hóa
inventory_item_name string x Tên vật tư/hàng hóa
inventory_item_code string x Mã vật tư/hàng hóa
inventory_item_type int x Tính chất vật tư/hàng hóa

0 Là Vật tư hàng hóa

1: Là thành phẩm

2: Là dịch vụ

3: Là Nguyên vật liệu

description string x Mô tả vật tư/hàng hóa
inventory_item_category_id_list Guid Id Nhóm vật tư/hàng hóa (lấy ở API get_dictionary với data_type = 6)
inventory_item_category_code_list string Mã Nhóm vật tư/hàng hóa (lấy ở API get_dictionary với data_type = 6)
inventory_item_category_name_list string Tên Nhóm vật tư/hàng hóa (lấy ở API get_dictionary với data_type = 6)
branch_id Guid x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
inactive bool Ngừng theo dõi(default: false)
is_unit_price_after_tax bool Là đơn giá sau thuế
purchase_discount_rate decimal Tỷ lệ chiết khấu khi mua hàng
unit_price decimal Đơn giá mua gần nhất
sale_price1 decimal Đơn giá bán 1
sale_price2 decimal Đơn giá bán 2
sale_price3 decimal Đơn giá bán 3
fixed_sale_price decimal Giá bán cố định
import_tax_rate decimal Thuế nhập khẩu
export_tax_rate decimal Thuế xuất khẩu
fixed_unit_price decimal Đơn giá mua cố định
discount_account string TK chiết khấu
sale_off_account string TK Giảm giá hàng bán
return_account string TK Trả lại hàng bán
inventory_account string Tài khoản kho
cogs_account string Tài khoản chi phí
sale_account string Tài khoản doanh thu
allocation_time int Số kỳ phân bổ doanh thu
allocation_account string Tài khoản doanh thu phân bổ
purchase_last_unit_price decimal Đơn giá mua gần nhất
is_edit_multiple bool Là chỉnh sửa nhiều
created_date string Ngày tạo
created_by string Người tạo
modified_date string Ngày sửa
modified_by string Người sửa
unit_id Guid ID đơn vị tính chính
unit_name string Tên đơn vị tính chính
unit_list list Danh sách đơn vị tính
State Int x Trạng thái bản ghi

1: Thêm

Thông tin khác https://actdocs.misa.vn/g2/graph/ACTOpenAPIHelp/index.html#5-7

 

3.2.3. Mã lỗi thường gặp

Mã lỗi Mô tả Phương án xử lý
Exception Lỗi chưa xác định được nguyên nhân Liên hệ kênh hỗ trợ của MISA
InvalidAppID Lỗi sai AppID (có thể do đang không sử dụng đúng appid do AMIS kế toán cung cấp cho dự án) Dùng đúng app_id được cung cấp khi đăng ký, hoặc dúng appi_id của đơn vị đã đăng ký
InvalidToken Lỗi do token không hợp lệ Thực hiện gọi lại API lấy access_token mới
ExpiredToken Lỗi do token đã hết hạn Thực hiện gọi lại API lấy access_token mới
InvalidParam Tham số không hợp lệ Kiểm tra lại tham số đầu vào, xem thêm mô tả ở ErrorMessage
DBAmisNotConnectDBACT Chưa thiết lập kết nối với dữ liệu kế toán nào Kiểm tra thiết lập kết nối tại ứng dụng Amis kế toán
InvalidAccessToken Lỗi do mã truy cập không hợp lệ Thực hiện gọi lại API lấy access_token mới
AppIDDisconnect Đã ngắt kết nối ứng dụng app_id đã bị ngắt kết nối, muốn kết nối lại, liên hệ kênh hỗ trợ của MISA

 

3.3. Kho

3.3.1. Mô tả về API

Thông tin Diễn giải
URL /apir/sync/actopen/get_dictionary
Method Post
Body request {

    “data_type“: 3, //kiểu dữ liệu lấy về

    “skip“: 0, //số lượng bỏ qua

    “take“: 1000, //số lượng lấy về

    “app_id“: “{app_id}, //app_id được cung cấp

    “last_sync_time”: “{last_sync_time}”

}

Response {

    “Success“: true,

    “ErrorMessage“: “”,

    “Data“: “[Danh sách stock trả về]”

}

Danh sách đối tượng trả về Data khi Response thành công

3.3.2. Mô tả đối tượng –  stock

Tên trường Kiểu dữ liệu Bắt buộc Diễn giải
stock_id Guid x Id kho
stock_code string x Mã kho
stock_name string x Tên kho
branch_id Guid x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
inactive bool x Ngừng theo dõi
created_date string Ngày tạo
created_by string Người tạo
modified_date string Ngày sửa
modified_by string Người sửa
State Int x Trạng thái bản ghi

1: Thêm

Thông tin khác https://actdocs.misa.vn/g2/graph/ACTOpenAPIHelp/index.html#5-10

 

3.3.3. Mã lỗi thường gặp

Mã lỗi Mô tả Phương án xử lý
Exception Lỗi chưa xác định được nguyên nhân Liên hệ kênh hỗ trợ của MISA
InvalidAppID Lỗi sai AppID (có thể do đang không sử dụng đúng appid do AMIS kế toán cung cấp cho dự án) Dùng đúng app_id được cung cấp khi đăng ký, hoặc dúng appi_id của đơn vị đã đăng ký
InvalidToken Lỗi do token không hợp lệ Thực hiện gọi lại API lấy access_token mới
ExpiredToken Lỗi do token đã hết hạn Thực hiện gọi lại API lấy access_token mới
InvalidParam Tham số không hợp lệ Kiểm tra lại tham số đầu vào, xem thêm mô tả ở ErrorMessage
DBAmisNotConnectDBACT Chưa thiết lập kết nối với dữ liệu kế toán nào Kiểm tra thiết lập kết nối tại ứng dụng Amis kế toán
InvalidAccessToken Lỗi do mã truy cập không hợp lệ Thực hiện gọi lại API lấy access_token mới
AppIDDisconnect Đã ngắt kết nối ứng dụng app_id đã bị ngắt kết nối, muốn kết nối lại, liên hệ kênh hỗ trợ của MISA

3.4. Đơn vị tính

3.4.1. Mô tả về API

Thông tin Diễn giải
URL /apir/sync/actopen/get_dictionary
Method Post
Body request {

    “data_type“: 4, //kiểu dữ liệu lấy về

    “skip“: 0, //số lượng bỏ qua

    “take“: 1000, //số lượng lấy về

    “app_id“: “{app_id}, //app_id được cung cấp

    “last_sync_time”: “{last_sync_time}”

}

Response {

    “Success“: true,

    “ErrorMessage“: “”,

    “Data”: “[Danh sách unit trả về]”

}

Danh sách đối tượng trả về Data khi Response thành công

 

3.4.2. Mô tả đối tượng – unit

Tên trường Kiểu dữ liệu Bắt buộc Diễn giải
unit_id Guid x Id đơn vị tính
unit_name string x Tên đơn vị tính
inactive bool x Ngừng theo dõi
description string Ghi chú/ diễn giải
branch_id Guid x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
created_date string Ngày tạo
created_by string Người tạo
modified_date string Ngày sửa
modified_by string Người sửa
State Int x Trạng thái bản ghi

1: Thêm

Thông tin khác https://actdocs.misa.vn/g2/graph/ACTOpenAPIHelp/index.html#5-11

 

3.4.3. Mã lỗi thường gặp

Mã lỗi Mô tả Phương án xử lý
Exception Lỗi chưa xác định được nguyên nhân Liên hệ kênh hỗ trợ của MISA
InvalidAppID Lỗi sai AppID (có thể do đang không sử dụng đúng appid do AMIS kế toán cung cấp cho dự án) Dùng đúng app_id được cung cấp khi đăng ký, hoặc dúng appi_id của đơn vị đã đăng ký
InvalidToken Lỗi do token không hợp lệ Thực hiện gọi lại API lấy access_token mới
ExpiredToken Lỗi do token đã hết hạn Thực hiện gọi lại API lấy access_token mới
InvalidParam Tham số không hợp lệ Kiểm tra lại tham số đầu vào, xem thêm mô tả ở ErrorMessage
DBAmisNotConnectDBACT Chưa thiết lập kết nối với dữ liệu kế toán nào Kiểm tra thiết lập kết nối tại ứng dụng Amis kế toán
InvalidAccessToken Lỗi do mã truy cập không hợp lệ Thực hiện gọi lại API lấy access_token mới
AppIDDisconnect Đã ngắt kết nối ứng dụng app_id đã bị ngắt kết nối, muốn kết nối lại, liên hệ kênh hỗ trợ của MISA

3.5. Hệ thống tài khoản

3.5.1. Mô tả về API

Thông tin Diễn giải
URL /apir/sync/actopen/get_dictionary
Method Post
Body request {

    “data_type“: 5, //kiểu dữ liệu lấy về

    “skip“: 0, //số lượng bỏ qua

    “take“: 1000, //số lượng lấy về

    “app_id“: “{app_id}, //app_id được cung cấp

    “last_sync_time”: “{last_sync_time}”

}

Response {

    “Success“: true,

    “ErrorMessage“: “”,

    “Data”: “[Danh sách account trả về]”

}

Danh sách đối tượng trả về Data khi Response thành công

 

3.5.2. Mô tả đối tượng – account

Tên trường Kiểu dữ liệu Bắt buộc Diễn giải
bank_account_id Guid x Id tài khoản ngân hàng
bank_account_number string x Số tài khoản ngân hàng
account_holder string chủ tài khoản
province_or_city string Tỉnh/thành phố
address string Địa chỉ trụ sở
bank_id Guid Id ngân hàng
bank_name string x Tên ngân hàng
bank_branch_name string Chi nhánh
branch_id Guid x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
inactive bool Ngừng theo dõi
created_date string Ngày tạo
created_by string Người tạo
modified_date string Ngày sửa
modified_by string Người sửa
State Int x Trạng thái bản ghi

1: Thêm

Thông tin khác https://actdocs.misa.vn/g2/graph/ACTOpenAPIHelp/index.html#5-4

 

3.5.3. Mã lỗi thường gặp

Mã lỗi Mô tả Phương án xử lý
Exception Lỗi chưa xác định được nguyên nhân Liên hệ kênh hỗ trợ của MISA
InvalidAppID Lỗi sai AppID (có thể do đang không sử dụng đúng appid do AMIS kế toán cung cấp cho dự án) Dùng đúng app_id được cung cấp khi đăng ký, hoặc dúng appi_id của đơn vị đã đăng ký
InvalidToken Lỗi do token không hợp lệ Thực hiện gọi lại API lấy access_token mới
ExpiredToken Lỗi do token đã hết hạn Thực hiện gọi lại API lấy access_token mới
InvalidParam Tham số không hợp lệ Kiểm tra lại tham số đầu vào, xem thêm mô tả ở ErrorMessage
DBAmisNotConnectDBACT Chưa thiết lập kết nối với dữ liệu kế toán nào Kiểm tra thiết lập kết nối tại ứng dụng Amis kế toán
InvalidAccessToken Lỗi do mã truy cập không hợp lệ Thực hiện gọi lại API lấy access_token mới
AppIDDisconnect Đã ngắt kết nối ứng dụng app_id đã bị ngắt kết nối, muốn kết nối lại, liên hệ kênh hỗ trợ của MISA

3.6. Cơ cấu tổ chức

3.6.1. Mô tả về API

Thông tin Diễn giải
URL /apir/sync/actopen/get_dictionary
Method Post
Body request {

    “data_type“: 6, //kiểu dữ liệu lấy về

    “skip“: 0, //số lượng bỏ qua

    “take“: 1000, //số lượng lấy về

    “app_id“: “{app_id}, //app_id được cung cấp

    “last_sync_time”: “{last_sync_time}”

}

Response {

    “Success“: true,

    “ErrorMessage“: “”,

    “Data“: “[Danh sách organization_unit trả về]”

}

Danh sách đối tượng trả về Data khi Response thành công

 

3.6.2. Mô tả đối tượng – organization_unit

Tên trường Kiểu dữ liệu Bắt buộc Diễn giải
organization_unit_id Guid x ID cơ cấu tổ chức
organization_unit_code string x Mã cơ cấu tổ chức
organization_unit_name string x Tên cơ cấu tổ chức
parent_id Guid x ID cơ cấu tổ chức cha (là organization_unit_id ở mức cao hơn, bắt buộc khi organization_unit_type_id <> 1)
organization_unit_type_id int x Cấp độ của tổ chức

1: Tổng công ty/công ty

2: Công ty con/chi nhánh

4: Phòng ban

branch_id Guid x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
Thông tin khác https://actdocs.misa.vn/g2/graph/ACTOpenAPIHelp/index.html#5-55

 

3.6.3. Mã lỗi thường gặp

Mã lỗi Mô tả Phương án xử lý
Exception Lỗi chưa xác định được nguyên nhân Liên hệ kênh hỗ trợ của MISA
InvalidAppID Lỗi sai AppID (có thể do đang không sử dụng đúng appid do AMIS kế toán cung cấp cho dự án) Dùng đúng app_id được cung cấp khi đăng ký, hoặc dúng appi_id của đơn vị đã đăng ký
InvalidToken Lỗi do token không hợp lệ Thực hiện gọi lại API lấy access_token mới
ExpiredToken Lỗi do token đã hết hạn Thực hiện gọi lại API lấy access_token mới
InvalidParam Tham số không hợp lệ Kiểm tra lại tham số đầu vào, xem thêm mô tả ở ErrorMessage
DBAmisNotConnectDBACT Chưa thiết lập kết nối với dữ liệu kế toán nào Kiểm tra thiết lập kết nối tại ứng dụng Amis kế toán
InvalidAccessToken Lỗi do mã truy cập không hợp lệ Thực hiện gọi lại API lấy access_token mới
AppIDDisconnect Đã ngắt kết nối ứng dụng app_id đã bị ngắt kết nối, muốn kết nối lại, liên hệ kênh hỗ trợ của MISA

3.7. Danh mục Tài khoản ngân hàng

3.7.1. Mô tả về API

Thông tin Diễn giải
URL /apir/sync/actopen/get_dictionary
Method Post
Body request {

    “data_type“: 8, //kiểu dữ liệu lấy về

    “skip“: 0, //số lượng bỏ qua

    “take“: 1000, //số lượng lấy về

    “app_id“: “{app_id}, //app_id được cung cấp

    “last_sync_time”: “{last_sync_time}”

}

Response {

    “Success“: true,

    “ErrorMessage“: “”,

    “Data”: “[Danh sách bank trả về]”

}

Danh sách đối tượng trả về Data khi Response thành công

 

3.7.2. Mô tả đối tượng – bank

Tên trường Kiểu dữ liệu Bắt buộc Diễn giải
account_id Guid x ID tài khoản
account_number String x Số tài khoản
account_name String x Tên tài khoản
parent_id Guid x ID tài khoản cha
Thông tin khác https://actdocs.misa.vn/g2/graph/ACTOpenAPIHelp/index.html#5-56

 

3.7.3. Mã lỗi thường gặp

Mã lỗi Mô tả Phương án xử lý
Exception Lỗi chưa xác định được nguyên nhân Liên hệ kênh hỗ trợ của MISA
InvalidAppID Lỗi sai AppID (có thể do đang không sử dụng đúng appid do AMIS kế toán cung cấp cho dự án) Dùng đúng app_id được cung cấp khi đăng ký, hoặc dúng appi_id của đơn vị đã đăng ký
InvalidToken Lỗi do token không hợp lệ Thực hiện gọi lại API lấy access_token mới
ExpiredToken Lỗi do token đã hết hạn Thực hiện gọi lại API lấy access_token mới
InvalidParam Tham số không hợp lệ Kiểm tra lại tham số đầu vào, xem thêm mô tả ở ErrorMessage
DBAmisNotConnectDBACT Chưa thiết lập kết nối với dữ liệu kế toán nào Kiểm tra thiết lập kết nối tại ứng dụng Amis kế toán
InvalidAccessToken Lỗi do mã truy cập không hợp lệ Thực hiện gọi lại API lấy access_token mới
AppIDDisconnect Đã ngắt kết nối ứng dụng app_id đã bị ngắt kết nối, muốn kết nối lại, liên hệ kênh hỗ trợ của MISA

3.8. Nhóm vật tư hàng hóa

3.8.1. Mô tả về API

Thông tin Diễn giải
URL /apir/sync/actopen/get_dictionary
Method Post
Body request {

    “data_type“: 14, //kiểu dữ liệu lấy về

    “skip“: 0, //số lượng bỏ qua

    “take“: 1000, //số lượng lấy về

    “app_id“: “{app_id}, //app_id được cung cấp

    “last_sync_time”: “{last_sync_time}”

}

Response {

    “Success“: true,

    “ErrorMessage“: “”,

    “Data”: “[Danh sách bank trả về]”

}

Danh sách đối tượng trả về Data khi Response thành công

3.8.2. Mô tả đối tượng – inventory_category

Tên trường Kiểu dữ liệu Bắt buộc Diễn giải
dictionary_type int x 4 (chỉ sử dụng khi call api save_dictionary)
inventory_category_id GUID x Id nhóm vật tư
inventory_category_code string x Mã nhóm vật tư
inventory_category_name string x Tên nhóm vật tư
grade int Cấp bậc của từng nhóm (bắt đầu từ 1)
is_parent bool Là nhóm cha của nhóm vật tư/hàng hóa khác
is_system bool Là Hệ thống
branch_id Guid x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
parent_id Guid ID của nhóm cha
inactive bool x Ngừng theo dõi
created_date string Ngày tạo
created_by string Người tạo
modified_date string Ngày sửa
modified_by string Người sửa
state Int x Trạng thái bản ghi

1: Thêm

Thông tin khác https://actdocs.misa.vn/g2/graph/ACTOpenAPIHelp/index.html#5-9

3.8.3. Mã lỗi thường gặp

Mã lỗi Mô tả Phương án xử lý
Exception Lỗi chưa xác định được nguyên nhân Liên hệ kênh hỗ trợ của MISA
InvalidAppID Lỗi sai AppID (có thể do đang không sử dụng đúng appid do AMIS kế toán cung cấp cho dự án) Dùng đúng app_id được cung cấp khi đăng ký, hoặc dúng appi_id của đơn vị đã đăng ký
InvalidToken Lỗi do token không hợp lệ Thực hiện gọi lại API lấy access_token mới
ExpiredToken Lỗi do token đã hết hạn Thực hiện gọi lại API lấy access_token mới
InvalidParam Tham số không hợp lệ Kiểm tra lại tham số đầu vào, xem thêm mô tả ở ErrorMessage
DBAmisNotConnectDBACT Chưa thiết lập kết nối với dữ liệu kế toán nào Kiểm tra thiết lập kết nối tại ứng dụng Amis kế toán
InvalidAccessToken Lỗi do mã truy cập không hợp lệ Thực hiện gọi lại API lấy access_token mới
AppIDDisconnect Đã ngắt kết nối ứng dụng app_id đã bị ngắt kết nối, muốn kết nối lại, liên hệ kênh hỗ trợ của MISA

IV. API tạo danh mục

4.1. Đối tượng

4.1.1. Mô tả về API

Thông tin Diễn giải
URL /apir/sync/actopen/save_dictionary
Method Post
Body request {

    “app_id“: “{app_id}”, //kiểu dữ liệu lấy về

    “org_company_code“:”{org_company_code}”

    “dictionary“: [Danh sách account_object sử dụng]

}

Response {

    “Success“: true,

    “ErrorMessage“: “”,

    “Data“: “Hệ thống đã ghi nhận yêu cầu đồng bộ vào hàng đợi, dữ liệu sẽ được đồng bộ sang hệ thống AMIS Kế toán sớm nhất có thể. Sau khi xử lý xong yêu cầu đồng bộ, hệ thống sẽ trả kết quả đồng bộ vào đường dẫn callback mà đối tác đã cung cấp cho AMIS kế toán.”

}

Phản hồi ghi nhận kết quả trả về Data khi Response thành công

 

4.1.2. Mô tả đối tượng – account_object

Tên trường Kiểu dữ liệu Bắt buộc Diễn giải
dictionary_type int x 1
gender int x Giới tính

0: nữ

1: nam

number_of_dependent int default: 0
account_object_type int x 0: là tổ chức

1: là cá nhân

is_vendor bool x Là nhà cung cấp .(Default: false)
is_customer Bool x Là khách hàng .(Default: false)
is_employee Bool x Là nhân viên .(Default: false)
organization_unit_id Guid x Bắt buộc với is_employee = true

(lấy ở API get_dictionary với data_type = 6)

inactive Bool x Ngừng theo dõi
agreement_salary decimal Lương thoả thuận.(defaul: 0.0)

Dành cho nhân viên (is_employee: true)

salary_coefficient decimal Hệ số lương Defaul: 0.0
insurance_salary decimal Lương đóng bảo hiểm(defaul: 0.0)
maximize_debt_amount decimal Số nợ tối đa.(defaul: 0.0)
account_object_id Guid x Id đối tượng
account_object_code String x Mã đối tương
account_object_name String x Tên đối tượng
address String Địa chỉ
country String Quốc gia
company_tax_code String MST
is_same_address Bool Cùng địa chỉ với địa chỉ giao hàng địa chỉ khách hàng
account_object_group_id_list Guid Id của nhóm KH/NCC
account_object_group_code_list string Code của nhóm KH/NCC
account_object_group_name_list string Tên của nhóm KH/NCC
branch_id Guid x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
is_remind_debt Bool Tắt/bật tính năng nhắc nợ tự động
created_date string Ngày tạo
created_by string Người tạo
modified_date string Ngày sửa
modified_by string Người sửa
State Int x Trạng thái bản ghi

1: Thêm

Thông tin khác https://actdocs.misa.vn/g2/graph/ACTOpenAPIHelp/index.html#5-1

 

4.1.3. Mã lỗi thường gặp

Mã lỗi Mô tả Phương án xử lý
Exception Lỗi chưa xác định được nguyên nhân Liên hệ kênh hỗ trợ của MISA
InvalidAppID Lỗi sai AppID (có thể do đang không sử dụng đúng appid do AMIS kế toán cung cấp cho dự án) Dùng đúng app_id được cung cấp khi đăng ký, hoặc dúng appi_id của đơn vị đã đăng ký
InvalidToken Lỗi do token không hợp lệ Thực hiện gọi lại API lấy access_token mới
ExpiredToken Lỗi do token đã hết hạn Thực hiện gọi lại API lấy access_token mới
InvalidParam Tham số không hợp lệ Kiểm tra lại tham số đầu vào, xem thêm mô tả ở ErrorMessage
DBAmisNotConnectDBACT Chưa thiết lập kết nối với dữ liệu kế toán nào Kiểm tra thiết lập kết nối tại ứng dụng Amis kế toán
InvalidAccessToken Lỗi do mã truy cập không hợp lệ Thực hiện gọi lại API lấy access_token mới
AppIDDisconnect Đã ngắt kết nối ứng dụng app_id đã bị ngắt kết nối, muốn kết nối lại, liên hệ kênh hỗ trợ của MISA

 

4.2. Nhóm đối tượng

4.2.1. Mô tả về API

Thông tin Diễn giải
URL /apir/sync/actopen/save_dictionary
Method Post
Body request {

    “app_id“: “{app_id}”, //kiểu dữ liệu lấy về

    “org_company_code”: “{org_company_code}”

    “dictionary“: [Danh sách inventory_category sử dụng]

}

Response {

    “Success“: true,

    “ErrorMessage“: “”,

    “Data“: “Hệ thống đã ghi nhận yêu cầu đồng bộ vào hàng đợi, dữ liệu sẽ được đồng bộ sang hệ thống AMIS Kế toán sớm nhất có thể. Sau khi xử lý xong yêu cầu đồng bộ, hệ thống sẽ trả kết quả đồng bộ vào đường dẫn callback mà đối tác đã cung cấp cho AMIS kế toán.”

}

Phản hồi ghi nhận kết quả trả về Data khi Response thành công

 

4.2.2. Mô tả đối tượng – inventory_category

Tên trường Kiểu dữ liệu Bắt buộc Diễn giải
dictionary_type int x 2
account_object_group_id Guid x ID Nhóm đối tượng
account_object_group_code String x Mã Nhóm đối tượng
account_object_group_name String x Tên Nhóm đối tượng
grade int Cấp bậc của từng nhóm (bắt đầu từ 1)
sort_order int Số thứ tự
is_parent bool Là chỉ mục cha
is_system bool Là Hệ thống
branch_id Guid x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
inactive bool x Ngừng theo dõi (default: false)
created_date string Ngày tạo
created_by string Người tạo
modified_date string Ngày sửa
modified_by string Người sửa
Thông tin khác https://actdocs.misa.vn/g2/graph/ACTOpenAPIHelp/index.html#5-2
State Int x Trạng thái bản ghi

1: Thêm

 

4.2.3. Mã lỗi thường gặp

Mã lỗi Mô tả Phương án xử lý
Exception Lỗi chưa xác định được nguyên nhân Liên hệ kênh hỗ trợ của MISA
InvalidAppID Lỗi sai AppID (có thể do đang không sử dụng đúng appid do AMIS kế toán cung cấp cho dự án) Dùng đúng app_id được cung cấp khi đăng ký, hoặc dúng appi_id của đơn vị đã đăng ký
InvalidToken Lỗi do token không hợp lệ Thực hiện gọi lại API lấy access_token mới
ExpiredToken Lỗi do token đã hết hạn Thực hiện gọi lại API lấy access_token mới
InvalidParam Tham số không hợp lệ Kiểm tra lại tham số đầu vào, xem thêm mô tả ở ErrorMessage
DBAmisNotConnectDBACT Chưa thiết lập kết nối với dữ liệu kế toán nào Kiểm tra thiết lập kết nối tại ứng dụng Amis kế toán
InvalidAccessToken Lỗi do mã truy cập không hợp lệ Thực hiện gọi lại API lấy access_token mới
AppIDDisconnect Đã ngắt kết nối ứng dụng app_id đã bị ngắt kết nối, muốn kết nối lại, liên hệ kênh hỗ trợ của MISA

 

4.3. Vật tư hàng hóa

4.3.1. Mô tả về API

Thông tin Diễn giải
URL /apir/sync/actopen/save_dictionary
Method Post
Body request {

    “app_id“: “{app_id}”, //kiểu dữ liệu lấy về

    “org_company_code”: “{org_company_code}”

    “dictionary“: [Danh sách inventory_item sử dụng]

}

Response {

    “Success“: true,

    “ErrorMessage“: “”,

    “Data“: “Hệ thống đã ghi nhận yêu cầu đồng bộ vào hàng đợi, dữ liệu sẽ được đồng bộ sang hệ thống AMIS Kế toán sớm nhất có thể. Sau khi xử lý xong yêu cầu đồng bộ, hệ thống sẽ trả kết quả đồng bộ vào đường dẫn callback mà đối tác đã cung cấp cho AMIS kế toán.”

}

Phản hồi ghi nhận kết quả trả về Data khi Response thành công

 

4.3.2. Mô tả đối tượng – inventory_item

Tên trường Kiểu dữ liệu Bắt buộc Diễn giải
dictionary_type int x 3
inventory_item_id Guid x Id vật tư/hàng hóa
inventory_item_name string x Tên vật tư/hàng hóa
inventory_item_code string x Mã vật tư/hàng hóa
inventory_item_type int x Tính chất vật tư/hàng hóa

0 Là Vật tư hàng hóa

1: Là thành phẩm

2: Là dịch vụ

3: Là Nguyên vật liệu

description string x Mô tả vật tư/hàng hóa
inventory_item_category_id_list Guid Id Nhóm vật tư/hàng hóa (lấy ở API get_dictionary với data_type = 6)
inventory_item_category_code_list string Mã Nhóm vật tư/hàng hóa (lấy ở API get_dictionary với data_type = 6)
inventory_item_category_name_list string Tên Nhóm vật tư/hàng hóa (lấy ở API get_dictionary với data_type = 6)
branch_id Guid x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
inactive bool Ngừng theo dõi(default: false)
is_unit_price_after_tax bool Là đơn giá sau thuế
purchase_discount_rate decimal Tỷ lệ chiết khấu khi mua hàng
unit_price decimal Đơn giá mua gần nhất
sale_price1 decimal Đơn giá bán 1
sale_price2 decimal Đơn giá bán 2
sale_price3 decimal Đơn giá bán 3
fixed_sale_price decimal Giá bán cố định
import_tax_rate decimal Thuế nhập khẩu
export_tax_rate decimal Thuế xuất khẩu
fixed_unit_price decimal Đơn giá mua cố định
discount_account string TK chiết khấu
sale_off_account string TK Giảm giá hàng bán
return_account string TK Trả lại hàng bán
inventory_account string Tài khoản kho
cogs_account string Tài khoản chi phí
sale_account string Tài khoản doanh thu
allocation_time int Số kỳ phân bổ doanh thu
allocation_account string Tài khoản doanh thu phân bổ
purchase_last_unit_price decimal Đơn giá mua gần nhất
is_edit_multiple bool Là chỉnh sửa nhiều
created_date string Ngày tạo
created_by string Người tạo
modified_date string Ngày sửa
modified_by string Người sửa
unit_id Guid ID đơn vị tính chính
unit_name string Tên đơn vị tính chính
unit_list string Danh sách đơn vị tính
State Int x Trạng thái bản ghi

1: Thêm

Thông tin khác https://actdocs.misa.vn/g2/graph/ACTOpenAPIHelp/index.html#5-7

 

4.3.3. Mã lỗi thường gặp

Mã lỗi Mô tả Phương án xử lý
Exception Lỗi chưa xác định được nguyên nhân Liên hệ kênh hỗ trợ của MISA
InvalidAppID Lỗi sai AppID (có thể do đang không sử dụng đúng appid do AMIS kế toán cung cấp cho dự án) Dùng đúng app_id được cung cấp khi đăng ký, hoặc dúng appi_id của đơn vị đã đăng ký
InvalidToken Lỗi do token không hợp lệ Thực hiện gọi lại API lấy access_token mới
ExpiredToken Lỗi do token đã hết hạn Thực hiện gọi lại API lấy access_token mới
InvalidParam Tham số không hợp lệ Kiểm tra lại tham số đầu vào, xem thêm mô tả ở ErrorMessage
DBAmisNotConnectDBACT Chưa thiết lập kết nối với dữ liệu kế toán nào Kiểm tra thiết lập kết nối tại ứng dụng Amis kế toán
InvalidAccessToken Lỗi do mã truy cập không hợp lệ Thực hiện gọi lại API lấy access_token mới
AppIDDisconnect Đã ngắt kết nối ứng dụng app_id đã bị ngắt kết nối, muốn kết nối lại, liên hệ kênh hỗ trợ của MISA

 

4.4. Nhóm vật tư

4.4.1. Mô tả về API

Thông tin Diễn giải
URL /apir/sync/actopen/save_dictionary
Method Post
Body request {

    “app_id“: “{app_id}”, //kiểu dữ liệu lấy về

    “org_company_code“: “{org_company_code}”

    “dictionary“: [Danh sách inventory_category sử dụng]

}

Response {

    “Success“: true,

    “ErrorMessage“: “”,

    “Data“: “Hệ thống đã ghi nhận yêu cầu đồng bộ vào hàng đợi, dữ liệu sẽ được đồng bộ sang hệ thống AMIS Kế toán sớm nhất có thể. Sau khi xử lý xong yêu cầu đồng bộ, hệ thống sẽ trả kết quả đồng bộ vào đường dẫn callback mà đối tác đã cung cấp cho AMIS kế toán.”

}

Phản hồi ghi nhận kết quả trả về Data khi Response thành công

 

4.4.2. Mô tả đối tượng – inventory_category

Tên trường Kiểu dữ liệu Bắt buộc Diễn giải
dictionary_type int x 4
inventory_category_id GUID x Id nhóm vật tư
inventory_category_code string x Mã nhóm vật tư
inventory_category_name string x Tên nhóm vật tư
grade int Cấp bậc của từng nhóm (bắt đầu từ 1)
is_parent bool Là nhóm cha của nhóm vật tư/hàng hóa khác
is_system bool Là Hệ thống
branch_id Guid x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
parent_id Guid ID của nhóm cha
inactive bool x Ngừng theo dõi
created_date string Ngày tạo
created_by string Người tạo
modified_date string Ngày sửa
modified_by string Người sửa
State Int x Trạng thái bản ghi

1: Thêm

Thông tin khác https://actdocs.misa.vn/g2/graph/ACTOpenAPIHelp/index.html#5-9

 

4.4.3. Mã lỗi thường gặp

Mã lỗi Mô tả Phương án xử lý
Exception Lỗi chưa xác định được nguyên nhân Liên hệ kênh hỗ trợ của MISA
InvalidAppID Lỗi sai AppID (có thể do đang không sử dụng đúng appid do AMIS kế toán cung cấp cho dự án) Dùng đúng app_id được cung cấp khi đăng ký, hoặc dúng appi_id của đơn vị đã đăng ký
InvalidToken Lỗi do token không hợp lệ Thực hiện gọi lại API lấy access_token mới
ExpiredToken Lỗi do token đã hết hạn Thực hiện gọi lại API lấy access_token mới
InvalidParam Tham số không hợp lệ Kiểm tra lại tham số đầu vào, xem thêm mô tả ở ErrorMessage
DBAmisNotConnectDBACT Chưa thiết lập kết nối với dữ liệu kế toán nào Kiểm tra thiết lập kết nối tại ứng dụng Amis kế toán
InvalidAccessToken Lỗi do mã truy cập không hợp lệ Thực hiện gọi lại API lấy access_token mới
AppIDDisconnect Đã ngắt kết nối ứng dụng app_id đã bị ngắt kết nối, muốn kết nối lại, liên hệ kênh hỗ trợ của MISA

4.5. Kho

4.5.1 Mô tả về API

Thông tin Diễn giải
URL /apir/sync/actopen/save_dictionary
Method Post
Body request {

    “app_id“: “{app_id}”, //kiểu dữ liệu lấy về

    “org_company_code“: “{org_company_code}”

    “dictionary“: [Danh sách stock sử dụng]

}

Response {

    “Success“: true,

    “ErrorMessage“: “”,

    “Data“: “Hệ thống đã ghi nhận yêu cầu đồng bộ vào hàng đợi, dữ liệu sẽ được đồng bộ sang hệ thống AMIS Kế toán sớm nhất có thể. Sau khi xử lý xong yêu cầu đồng bộ, hệ thống sẽ trả kết quả đồng bộ vào đường dẫn callback mà đối tác đã cung cấp cho AMIS kế toán.”

}

Phản hồi ghi nhận kết quả trả về Data khi Response thành công

4.5.2. Mô tả đối tượng – stock

Tên trường Kiểu dữ liệu Bắt buộc Diễn giải
dictionary_type int x 5 (chỉ sử dụng khi call api save_dictionary)
stock_id Guid x Id kho
stock_code string x Mã kho
stock_name string x Tên kho
branch_id Guid x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
inactive bool x Ngừng theo dõi
created_date string Ngày tạo
created_by string Người tạo
modified_date string Ngày sửa
modified_by string Người sửa
State Int x Trạng thái bản ghi

1: Thêm

Thông tin khác https://actdocs.misa.vn/g2/graph/ACTOpenAPIHelp/index.html#5-10

 

4.5.3. Mã lỗi thường gặp

Mã lỗi Mô tả Phương án xử lý
Exception Lỗi chưa xác định được nguyên nhân Liên hệ kênh hỗ trợ của MISA
InvalidAppID Lỗi sai AppID (có thể do đang không sử dụng đúng appid do AMIS kế toán cung cấp cho dự án) Dùng đúng app_id được cung cấp khi đăng ký, hoặc dúng appi_id của đơn vị đã đăng ký
InvalidToken Lỗi do token không hợp lệ Thực hiện gọi lại API lấy access_token mới
ExpiredToken Lỗi do token đã hết hạn Thực hiện gọi lại API lấy access_token mới
InvalidParam Tham số không hợp lệ Kiểm tra lại tham số đầu vào, xem thêm mô tả ở ErrorMessage
DBAmisNotConnectDBACT Chưa thiết lập kết nối với dữ liệu kế toán nào Kiểm tra thiết lập kết nối tại ứng dụng Amis kế toán
InvalidAccessToken Lỗi do mã truy cập không hợp lệ Thực hiện gọi lại API lấy access_token mới
AppIDDisconnect Đã ngắt kết nối ứng dụng app_id đã bị ngắt kết nối, muốn kết nối lại, liên hệ kênh hỗ trợ của MISA

4.6. Đơn vị tính

4.6.1. Mô tả về API

Thông tin Diễn giải
URL /apir/sync/actopen/save_dictionary
Method Post
Body request {

    “app_id“: “{app_id}”, //kiểu dữ liệu lấy về

    “org_company_code”: “{org_company_code}”

    “dictionary“: [Danh sách unit sử dụng]

}

Response {

    “Success“: true,

    “ErrorMessage“: “”,

    “Data“: “Hệ thống đã ghi nhận yêu cầu đồng bộ vào hàng đợi, dữ liệu sẽ được đồng bộ sang hệ thống AMIS Kế toán sớm nhất có thể. Sau khi xử lý xong yêu cầu đồng bộ, hệ thống sẽ trả kết quả đồng bộ vào đường dẫn callback mà đối tác đã cung cấp cho AMIS kế toán.”

}

Phản hồi ghi nhận kết quả trả về Data khi Response thành công

 

4.6.2. Mô tả đối tượng – unit

Tên trường Kiểu dữ liệu Bắt buộc Diễn giải
dictionary_type int x 6 (chỉ sử dụng khi call api save_dictionary)
unit_id Guid x Id đơn vị tính
unit_name string x Tên đơn vị tính
inactive bool x Ngừng theo dõi
description string Ghi chú/ diễn giải
branch_id Guid x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
created_date string Ngày tạo
created_by string Người tạo
modified_date string Ngày sửa
modified_by string Người sửa
State Int x Trạng thái bản ghi

1: Thêm

Thông tin khác https://actdocs.misa.vn/g2/graph/ACTOpenAPIHelp/index.html#5-11

 

4.6.3. Mã lỗi thường gặp

Mã lỗi Mô tả Phương án xử lý
Exception Lỗi chưa xác định được nguyên nhân Liên hệ kênh hỗ trợ của MISA
InvalidAppID Lỗi sai AppID (có thể do đang không sử dụng đúng appid do AMIS kế toán cung cấp cho dự án) Dùng đúng app_id được cung cấp khi đăng ký, hoặc dúng appi_id của đơn vị đã đăng ký
InvalidToken Lỗi do token không hợp lệ Thực hiện gọi lại API lấy access_token mới
ExpiredToken Lỗi do token đã hết hạn Thực hiện gọi lại API lấy access_token mới
InvalidParam Tham số không hợp lệ Kiểm tra lại tham số đầu vào, xem thêm mô tả ở ErrorMessage
DBAmisNotConnectDBACT Chưa thiết lập kết nối với dữ liệu kế toán nào Kiểm tra thiết lập kết nối tại ứng dụng Amis kế toán
InvalidAccessToken Lỗi do mã truy cập không hợp lệ Thực hiện gọi lại API lấy access_token mới
AppIDDisconnect Đã ngắt kết nối ứng dụng app_id đã bị ngắt kết nối, muốn kết nối lại, liên hệ kênh hỗ trợ của MISA

 

4.7. Tài khoản ngân hàng

4.7.1. Mô tả về API

Thông tin Diễn giải
URL /apir/sync/actopen/save_dictionary
Method Post
Body request {

    “app_id“: “{app_id}”, //kiểu dữ liệu lấy về

    “org_company_code”: “{org_company_code}”

    “dictionary“: [Danh sách account sử dụng]

}

Response {

    “Success“: true,

    “ErrorMessage“: “”,

    “Data“: “Hệ thống đã ghi nhận yêu cầu đồng bộ vào hàng đợi, dữ liệu sẽ được đồng bộ sang hệ thống AMIS Kế toán sớm nhất có thể. Sau khi xử lý xong yêu cầu đồng bộ, hệ thống sẽ trả kết quả đồng bộ vào đường dẫn callback mà đối tác đã cung cấp cho AMIS kế toán.”

}

Phản hồi ghi nhận kết quả trả về Data khi Response thành công

 

4.7.2. Mô tả đối tượng – account

Tên trường Kiểu dữ liệu Bắt buộc Diễn giải
dictionary_type int x 7 (chỉ sử dụng khi call api save_dictionary)
bank_account_id Guid x Id tài khoản ngân hàng
bank_account_number string x Số tài khoản ngân hàng
account_holder string chủ tài khoản
province_or_city string Tỉnh/thành phố
address string Địa chỉ trụ sở
bank_id Guid Id ngân hàng
bank_name string x Tên ngân hàng
bank_branch_name string Chi nhánh
branch_id Guid x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
inactive bool Ngừng theo dõi
created_date string Ngày tạo
created_by string Người tạo
modified_date string Ngày sửa
modified_by string Người sửa
State Int x Trạng thái bản ghi

1: Thêm

Thông tin khác https://actdocs.misa.vn/g2/graph/ACTOpenAPIHelp/index.html#5-4

 

4.7.3. Mã lỗi thường gặp

Mã lỗi Mô tả Phương án xử lý
Exception Lỗi chưa xác định được nguyên nhân Liên hệ kênh hỗ trợ của MISA
InvalidAppID Lỗi sai AppID (có thể do đang không sử dụng đúng appid do AMIS kế toán cung cấp cho dự án) Dùng đúng app_id được cung cấp khi đăng ký, hoặc dúng appi_id của đơn vị đã đăng ký
InvalidToken Lỗi do token không hợp lệ Thực hiện gọi lại API lấy access_token mới
ExpiredToken Lỗi do token đã hết hạn Thực hiện gọi lại API lấy access_token mới
InvalidParam Tham số không hợp lệ Kiểm tra lại tham số đầu vào, xem thêm mô tả ở ErrorMessage
DBAmisNotConnectDBACT Chưa thiết lập kết nối với dữ liệu kế toán nào Kiểm tra thiết lập kết nối tại ứng dụng Amis kế toán
InvalidAccessToken Lỗi do mã truy cập không hợp lệ Thực hiện gọi lại API lấy access_token mới
AppIDDisconnect Đã ngắt kết nối ứng dụng app_id đã bị ngắt kết nối, muốn kết nối lại, liên hệ kênh hỗ trợ của MISA

4.8. Cơ cấu tổ chức

4.8.1. Mô tả về API

Thông tin Diễn giải
URL /apir/sync/actopen/save_dictionary
Method Post
Body request {

    “app_id“: “{app_id}”, //kiểu dữ liệu lấy về

    “org_company_code”: “{org_company_code}”

    “dictionary“: [Danh sách organization_unit sử dụng]

}

Response {

    “Success“: true,

    “ErrorMessage“: “”,

    “Data“: “Hệ thống đã ghi nhận yêu cầu đồng bộ vào hàng đợi, dữ liệu sẽ được đồng bộ sang hệ thống AMIS Kế toán sớm nhất có thể. Sau khi xử lý xong yêu cầu đồng bộ, hệ thống sẽ trả kết quả đồng bộ vào đường dẫn callback mà đối tác đã cung cấp cho AMIS kế toán.”

}

Phản hồi ghi nhận kết quả trả về Data khi Response thành công

 

4.8.2. Mô tả đối tượng – organization_unit

Tên trường Kiểu dữ liệu Bắt buộc Diễn giải
dictionary_type int x 6
organization_unit_id Guid x ID cơ cấu tổ chức
organization_unit_code string x Mã cơ cấu tổ chức
organization_unit_name string x Tên cơ cấu tổ chức
parent_id Guid x ID cơ cấu tổ chức cha (là organization_unit_id ở mức cao hơn, bắt buộc khi organization_unit_type_id <> 1)
organization_unit_type_id int x Cấp độ của tổ chức

1: Tổng công ty/công ty

2: Công ty con/chi nhánh

4: Phòng ban

branch_id Guid x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
Thông tin khác https://actdocs.misa.vn/g2/graph/ACTOpenAPIHelp/index.html#5-55

 

4.8.3. Mã lỗi thường gặp

Mã lỗi Mô tả Phương án xử lý
Exception Lỗi chưa xác định được nguyên nhân Liên hệ kênh hỗ trợ của MISA
InvalidAppID Lỗi sai AppID (có thể do đang không sử dụng đúng appid do AMIS kế toán cung cấp cho dự án) Dùng đúng app_id được cung cấp khi đăng ký, hoặc dúng appi_id của đơn vị đã đăng ký
InvalidToken Lỗi do token không hợp lệ Thực hiện gọi lại API lấy access_token mới
ExpiredToken Lỗi do token đã hết hạn Thực hiện gọi lại API lấy access_token mới
InvalidParam Tham số không hợp lệ Kiểm tra lại tham số đầu vào, xem thêm mô tả ở ErrorMessage
DBAmisNotConnectDBACT Chưa thiết lập kết nối với dữ liệu kế toán nào Kiểm tra thiết lập kết nối tại ứng dụng Amis kế toán
InvalidAccessToken Lỗi do mã truy cập không hợp lệ Thực hiện gọi lại API lấy access_token mới
AppIDDisconnect Đã ngắt kết nối ứng dụng app_id đã bị ngắt kết nối, muốn kết nối lại, liên hệ kênh hỗ trợ của MISA

 

V. API tạo Yêu cầu sinh CT

5.1. Chứng từ bán hàng

5.1.1. Chứng từ bán hàng

5.1.1.1. Mô tả về API
Thông tin Diễn giải
URL /apir/sync/actopen/save
Method Post
Body request {

    “app_id“: “{app_id}”, //kiểu dữ liệu lấy về

    “org_company_code”: “{org_company_code}”

    “voucher“: [Danh sách sa_voucher sử dụng]

}

Response {

    “Success“: true,

    “ErrorMessage“: “”,

    “Data“: “Hệ thống đã ghi nhận yêu cầu đồng bộ vào hàng đợi, dữ liệu sẽ được đồng bộ sang hệ thống AMIS Kế toán sớm nhất có thể. Sau khi xử lý xong yêu cầu đồng bộ, hệ thống sẽ trả kết quả đồng bộ vào đường dẫn callback mà đối tác đã cung cấp cho AMIS kế toán.”

}

Phản hồi ghi nhận kết quả trả về Data khi Response thành công

5.1.1.2. Mô tả đối tượng – sa_voucher
Tên trường Kiểu dữ liệu Bắt buộc Diễn giải
voucher_type Int x 13
org_refid Guid x ID của chứng từ dữ liệu gốc (tự định nghĩa, lưu lại)
org_refno String x Số chứng từ gốc
org_reftype_name String Tên loại chứng từ trên dữ liệu gốc
branch_id Guid x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
account_object_id Guid ID đối tượng (lấy ở API get_dictionary với data_type = 1)

– có thể chỉ sử dụng account_object_code cũng có thể mapping được với danh mục

account_object_code String Mã khách hàng (lấy ở API get_dictionary với data_type = 1)
account_object_name String Tên khách hàng (lấy ở API get_dictionary với data_type = 1)
account_object_tax_code String Mã số thuế (lấy ở API get_dictionary với data_type = 1)
account_object_address String Địa chỉ (lấy ở API get_dictionary với data_type = 1)
currency_id String Mã đồng tiền thanh toán (VND, USD, …)
exchange_rate Decimal Tỉ giá hối đoái (Mặc định = 1)
discount_rate_voucher Decimal Tỷ lệ chiết khấu theo mặt hàng
discount_type Int Loại chiết khấu:

0: Không chiết khấu

1: Theo mặt hàng

2: Theo % hóa đơn

3: Theo số tiền trên tổng hóa đơn

employee_id Guid Id Nhân viên (lấy ở API get_dictionary với data_type = 1 (is_employee = true))

có thể chỉ sử dụng employee_code cũng có thể mapping được với danh mục

employee_code String Mã NV bán hàng (lấy ở API get_dictionary với data_type = 1 (is_employee = true))
employee_name String Mã nhân viên (lấy ở API get_dictionary với data_type = 1 (is_employee = true))
include_invoice Int Có đính kèm hóa đơn không?

0: Không kèm hóa đơn;

1: Nhận kèm hóa đơn;

2: Không có hóa đơn

in_reforder Datetime Giờ nhập xuất
inv_date Datetime Ngày hóa đơn (sử dụng khi là chứng từ bán hàng kèm hóa đơn)
inv_no String Số hóa đơn (sử dụng khi là chứng từ bán hàng kèm hóa đơn)
inv_series String Ký hiệu hóa đơn (sử dụng khi là chứng từ bán hàng kèm hóa đơn)
inv_template_no String Mẫu số hóa đơn (sử dụng khi là chứng từ bán hàng kèm hóa đơn)
is_invoice_exported Bool Đã xuất hóa đơn
is_posted_finance Bool Đánh dấu ghi sổ quản trị
inv_type_id Int Loại hóa đơn:

0: Nhập tay

1.Hóa đơn giá trị gia tăng;

2.Hóa đơn bán hàng;

3.Phiếu xuất kho kiêm vận chuyển hàng hóa nội bộ;

4.Phiếu xuất kho gửi bán hàng đại lý;

5.Hóa đơn xuất khẩu;

6.Hóa đơn bán hàng (dành cho tổ chức, cá nhân trong khu phi thuế quan)

is_sale_with_outward Bool x Bán hàng kiêm phiếu xuất kho
journal_memo String Lý do nộp/ Diễn giải
outward_exported_status Int Đã xuất hàng

0: Chưa xuất,

1: Đã xuất,

2: Để trắng (đối với hóa đơn bán hàng mà tất cả mặt hàng đều có tính chất dịch vụ)

3: là xuất một phần

payer String Người nộp (Bán hàng thu tiền ngay) / Người liên hệ (Bán hàng chưa thu tiền)
posted_date Datetime x Ngày hạch toán
due_date Datetime Hạn thanh toán
due_day string Số ngày được nợ
refdate Datetime x Ngày chứng từ
refno_finance Long Số chứng từ bán hàng
reftype Int x Loại chứng từ

3530: Bán hàng hóa, dịch vụ trong nước chưa thu tiền

3531: Bán hàng hóa, dịch vụ trong nước – Tiền mặt

3532: Bán hàng xuất khẩu

3534: Bán hàng đại lý bán đúng giá – Chưa thu tiền

3535: Bán hàng đại lý bán đúng giá – Tiền mặt

3536: Bán hàng nhận ủy thác xuất khẩu

3537: Bán hàng hóa, dịch vụ trong nước – Chuyển khoản

3538: Bán hàng đại lý bán đúng giá – Chuyển khoản

3570: Bán dịch vụ trong nước chưa thu tiền

3571: Bán dịch vụ trong nước – Tiền mặt

3572: Bán dịch vụ trong nước – Chuyển khoản

reftype_name String Tên loại chứng từ
shipping_address String Địa điểm giao hàng
supplier_name String Tên nhà cung cấp/ đơn vị ủy thác xuất khẩu
total_sale_amount_oc Decimal x Tổng tiền hàng nguyên tệ
total_sale_amount Decimal x Tổng tiền hàng quy đổi
total_amount_oc Decimal x Tổng tiền thanh toán nguyên tệ
total_amount Decimal x Tổng tiền thanh toán quy đổi
total_discount_amount_oc Decimal x Chiết khấu nguyên tệ
total_discount_amount Decimal x Chiết khấu quy đổi
total_vat_amount_oc Decimal x Thuế GTGT nguyên tệ
total_vat_amount Decimal x Thuế GTGT quy đổi
custom_field1 string Trường mỡ rộng (hỗ trợ từ custom_field1->custom_field10
in_outward in_outward Thông tin phiếu xuất kho (sử dụng khi là chứng từ bán hàng kiêm phiếu xuất)

Bắt buộc khi is_sale_with_outward = true

sa_invoice sa_invoice Thông tin hóa đơn (sử dụng khi là chứng từ bán hàng kèm hóa đơn)
detail List<details> x Chi tiết chứng từ
Thông tin phiếu xuất kho (in_outward)
account_object_address String Địa chỉ/ bộ phận
account_object_code String Mã đối tượng
account_object_id Guid ID đối tượng (lấy ở API get_dictionary với data_type = 1) – có thể chỉ sử dụng account_object_code cũng có thể mapping được với danh mục
account_object_name String Tên đối tượng
account_object_tax_code String Mã số thuế đối tượng
branch_id Guid x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
contact_name String Tên người nhận/ bộ phận/ của
contract_code String Hợp đồng số
employee_code String Mã nhân viên
employee_id Guid Id Nhân viên (lấy ở API get_dictionary với data_type = 1 (is_employee = true))

có thể chỉ sử dụng employee_code cũng có thể mapping được với danh mục

employee_name String Tên nhân viên
in_reforder Datetime x Giờ nhập xuất kho
inventory_posted_date Datetime Ngày ghi sổ kho
journal_memo String Lý do/ về việc
posted_date Datetime x Ngày hoạch toán
refdate Datetime x Ngày chứng từ
reforder Long Số thứ tự nhập chứng từ
reftype Int x Loại chứng từ

2020: Xuất kho bán hàng

reftype_name String Tên loại chứng từ
refno_finance Long Số chứng từ phiếu xuất kho
Thông tin hóa đơn (sa_invoice)
account_object_address String Địa chỉ
account_object_bank_account String Tài khoản của khách hàng
account_object_bank_name String Tên ngân hàng
account_object_code String Mã khách hàng
account_object_id Guid ID đối tượng (lấy ở API get_dictionary với data_type = 1) – có thể chỉ sử dụng account_object_code cũng có thể mapping được với danh mục
account_object_name String Tên khách hàng
account_object_tax_code String Mã số thuế khách hàng
branch_id Guid x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
buyer String Người mua hàng
identification_number String CCCD người mua
passport_number String số hộ chiếu
currency_id String Loại tiền
phone_number String Số điện thoại người mua
discount_rate_voucher Decimal Tỷ lệ chiết khấu theo mặt hàng
discount_type Int Loại chiết khấu:

0: Không chiết khấu

1: Theo mặt hàng

2: Theo % hóa đơn

3: Theo số tiền trên tổng hóa đơn

employee_code String Mã nhân viên bán hàng
employee_id Guid Id Nhân viên (lấy ở API get_dictionary với data_type = 1 (is_employee = true))

có thể chỉ sử dụng employee_code cũng có thể mapping được với danh mục

employee_name String Tên nhân viên
exchange_rate Decimal Tỷ giá hối đoái
inv_date Datetime x Ngày hóa đơn
inv_no String x Số hóa đơn (bắt buộc nếu đơn vị xuất hoá đơn trước)
inv_series String x Ký hiệu hóa đơn (bắt buộc nếu đơn vị xuất hoá đơn trước)
inv_template_no String x Mẫu số hd (bắt buộc nếu đơn vị xuất hoá đơn trước)
inv_type_id Int x Loại hóa đơn: Chia ra làm 2 loại:

+ Có sử dụng hóa đơn điện tử: inv_type_id = null

+ Không sử dụng hóa đơn điện tử: giá trị của inv_type_id chi tiết như sau :

1.Hóa đơn giá trị gia tăng;

2.Hóa đơn bán hàng;

3.Phiếu xuất kho kiêm vận chuyển hàng hóa nội bộ;

4.Phiếu xuất kho gửi bán hàng đại lý;

5.Hóa đơn xuất khẩu;

6.Hóa đơn bán hàng (dành cho tổ chức, cá nhân trong khu phi thuế quan)

is_paid Bool Đã thanh toán dủ
is_posted Bool Đã hạch toán
is_posted_last_year Bool Đã hạch toán năm trước
is_invoice_machine Bool Là hóa đơn từ máy tính tiền
payment_method String Hình thức thanh toán
reftype Int x Loại chứng từ

3560: Hóa đơn bán hàng hóa, dịch vụ trong nước

reftype_name String Tên loại chứng từ
total_sale_amount_oc Decimal x Tổng tiền hàng nguyên tệ
total_sale_amount Decimal x Tổng tiền hàng quy đổi
total_amount_oc Decimal x Tổng tiền thanh toán nguyên tệ
total_amount Decimal x Tổng tiền thanh toán quy đổi
total_discount_amount_oc Decimal x Chiết khấu nguyên tệ
total_discount_amount Decimal x Chiết khấu quy đổi
total_vat_amount_oc Decimal x Thuế GTGT nguyên tệ
total_vat_amount Decimal x Thuế GTGT quy đổi
custom_field1 string Trường mỡ rộng (hỗ trợ từ custom_field1->custom_field10
Thông tin chi tiết (details)
account_name String Tên tài khoản
account_object_address String Địa chỉ
account_object_code String Mã đối tượng
account_object_id Guid? ID đối tượng (lấy ở API get_dictionary với data_type = 1) – có thể chỉ sử dụng account_object_code cũng có thể mapping được với danh mục
account_object_name String Tên đối tượng
amount_after_tax Decimal Thành tiền sau thuế
credit_account String x TK có
exchange_rate_operator String x Toán tử quy đổi *=nhân; / =chia (mặc định: nhân)
inventory_item_id Guid? x ID hàng hóa/ Vật tư (nếu Thông tin is_description = false thì không được bỏ trống Thông tin này)

– có thể chỉ cần dùng inventory_item_code cũng có thể mapping với danh mục

(lấy ở API get_dictionary với data_type = 2)

inventory_item_code String x Mã vật tư/hàng hóa
inventory_item_name String x Tên vật tư/hàng hóa
description String x Diễn giải
inventory_item_type Int x Loại hàng hoá dịch vụ

0: Là vật tư hàng hoá

1: Là thành phẩm

2: Là dịch vụ

3: Là nguyên vật liệu

stock_code String x Mã kho
stock_id Guid? x ID kho

– có thể chỉ cần dùng stock_code cũng có thể mapping với danh mục

(lấy ở API get_dictionary với data_type = 3)

stock_name String x Tên kho
debit_account String x TK nợ
sale_account String Tài khoản doanh thu
unit_id Guid? x ID đơn vị tính (lấy ở API get_dictionary với data_type = 4)

– Có thể chỉ cần dùng unit_name cũng có thể mapping với danh mục

unit_name String x Tên đơn vị tính
main_unit_id Guid? x ID đơn vị tính chính (lấy ở API get_dictionary với data_type = 4)
main_unit_price Decimal x Đơn giá theo đơn vị tính chính
main_unit_name String x Tên đơn vị tính chính
main_quantity Decimal x Số lượng theo đơn vị tính chính
quantity Decimal x Số lượng
unit_price Decimal x Đơn giá
unit_price_after_tax Decimal Đơn giá sau thuế
unit_price_after_discount Decimal Đơn giá sau chiết khấu
amount_oc Decimal x Thành tiền
amount Decimal x Thành tiền quy đổi
discount_rate Decimal x Tỷ lệ chiết khấu
discount_amount_oc Decimal x Tiền chiết khấu
discount_amount Decimal x Tiền chiết khấu quy đổi
discount_account String TK chiết khấu
vat_description String Diễn giải thuế
vat_rate Decimal Thuế suất:

0%: 0

5%: 5

8%: 8

10%: 10

KCT: -1

KKKNT: -2

KHAC: -3

other_vat_rate Decimal Thuế suất khác (bắt buộc phải truyền khi vat_rate = -3)
vat_amount_oc Decimal x Tiền thuế (bắt buộc khi có vat_rate)
vat_amount Decimal x Tiền thuế quy đổi (bắt buộc khi có vat_rate)
vat_account String Tài khoản thuế
is_description Bool? Là dòng diễn giải
is_promotion Bool? Là hàng khuyến mãi
is_un_update_outward_price Bool? Không cập nhật giá xuất kho
main_convert_rate Decimal x Tỷ lệ chuyển đổi ra đơn vị tính chính
sort_order Int? x Thứ tự
stock_account String Tài khoản kho
un_resonable_cost Bool? Khoản phí không rõ nguyên nhân
inventory_item_description String Ghi chú sản phẩm
lot_no String Số lô
expiry_date DateTime? Hạn dùng
organization_unit_code String Đơn vị (mã phòng ban/chi nhánh)

(lấy ở API get_dictionary với data_type = 6)

5.1.1.3. Mã lỗi thường gặp
Mã lỗi Mô tả Phương án xử lý
Exception Lỗi chưa xác định được nguyên nhân Liên hệ kênh hỗ trợ của MISA
InvalidAppID Lỗi sai AppID (có thể do đang không sử dụng đúng appid do AMIS kế toán cung cấp cho dự án) Dùng đúng app_id được cung cấp khi đăng ký, hoặc dúng appi_id của đơn vị đã đăng ký
InvalidToken Lỗi do token không hợp lệ Thực hiện gọi lại API lấy access_token mới
ExpiredToken Lỗi do token đã hết hạn Thực hiện gọi lại API lấy access_token mới
InvalidParam Tham số không hợp lệ Kiểm tra lại tham số đầu vào, xem thêm mô tả ở ErrorMessage
IsCreatedVoucher Đã sinh chứng từ kế toán Yêu cầu sinh chứng từ đã được Lập chứng từ, muốn thực hiện update thì xóa Chứng từ đã sinh
VoucherNotFound Không tìm thấy đề nghị sinh chứng từ kế toán Thực hiện tạo mới chứng từ hoặc kiểm tra org_refid đã đúng chưa
DBAmisNotConnectDBACT Chưa thiết lập kết nối với dữ liệu kế toán nào Kiểm tra thiết lập kết nối tại ứng dụng Amis kế toán
InvalidAccessToken Lỗi do mã truy cập không hợp lệ Thực hiện gọi lại API lấy access_token mới
AppIDDisconnect Đã ngắt kết nối ứng dụng app_id đã bị ngắt kết nối, muốn kết nối lại, liên hệ kênh hỗ trợ của MISA

 

5.1.2. Đơn đặt hàng

5.1.2.1. Mô tả về API
Thông tin Diễn giải
URL /apir/sync/actopen/save
Method Post
Body request {

    “app_id“: “{app_id}”, //kiểu dữ liệu lấy về

    “org_company_code”: “{org_company_code}”

    “voucher“: [Danh sách sa_order sử dụng]

}

Response {

    “Success“: true,

    “ErrorMessage“: “”,

    “Data“: “Hệ thống đã ghi nhận yêu cầu đồng bộ vào hàng đợi, dữ liệu sẽ được đồng bộ sang hệ thống AMIS Kế toán sớm nhất có thể. Sau khi xử lý xong yêu cầu đồng bộ, hệ thống sẽ trả kết quả đồng bộ vào đường dẫn callback mà đối tác đã cung cấp cho AMIS kế toán.”

}

Phản hồi ghi nhận kết quả trả về Data khi Response thành công

 

5.1.2.2. Mô tả đối tượng – sa_order
Tên trường Kiểu dữ liệu Bắt buộc Diễn giải
voucher_type Int x 20
org_refid Guid x ID chứng từ (trường bắt buộc)
org_refno String Số chứng từ
org_reftype Int Loại chứng từ gốc
org_refcode String Mã chứng từ
org_reftype_name String Tên loại chứng từ
account_object_id Guid x ID đối tượng (lấy ở API get_dictionary với data_type = 1)

– có thể chỉ sử dụng account_object_code cũng có thể mapping được với danh mục

account_object_code String x Mã khách hàng
account_object_name String x Tên khách hàng là tổ chức hoặc cá nhân
account_object_address String Địa chỉ
account_object_tax_code String Mã số thuế
branch_id Guid x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
currency_id String Loại tiền
exchange_rate Decimal Tỷ giá hối đoái
delivered_status Int Tình trạng giao hàng

0: Chưa giao

1: Đang giao

2: Đã giao đủ

(Default = 0)

delivery_date DateTime Ngày giao hàng
discount_rate_voucher Decimal Tỷ lệ/ Tiền chiết khấu theo mặt hàng/ tổng chứng từ (Default = 0)
discount_type Int Loại chiết khấu

0: Không chiết khấu

1: Theo mặt hàng

2: Theo % hóa đơn

3: Số tiền trên tổng hóa đơn

(Default = 0)

due_day Int Số ngày được nợ
employee_id Guid Id Nhân viên (lấy ở API get_dictionary với data_type = 1 (is_employee = true))

có thể chỉ sử dụng employee_code cũng có thể mapping được với danh mục

employee_code String Mã nhân viên
employee_name String Tên nhân viên
is_calculated_cost Bool Check tính giá thành (Default = false)
is_invoiced Bool Trạng thái đã xuất hóa đơn
journal_memo String Ghi chú
receiver String Người nhận hàng
refdate DateTime x Ngày đơn hàng
refno String Số đơn hàng
reftype Int x Loại chứng từ

3520: Đơn đặt hàng

revenue_status Int Tình trạng ghi nhận doanh số

0: chưa ghi doanh số 1 đã ghi doanh số (Default = 0)

shipping_address String Địa chỉ giao hàng
other_term String Điều khoản khác
created_date DateTime Ngày tạo
created_by String người tạo
modified_date DateTime Ngày sửa
modified_by String Người sửa
status Int x Tình trạng đơn hàng

0: Chưa thực hiện

1: Đang thực hiện

2: Hoàn thành

3: Đã hủy bỏ

(Default = 0)

detail List<detail> x Thông tin chi tiết (details) của đơn hàng
Thông tin chi tiết (detail)
amount Decimal x Tổng tiền thanh toán quy đổi (Default = 0)
amount_oc Decimal x Tổng tiền thanh toán nguyên tệ (Default = 0)
description String x Tên hàng
discount_amount Decimal x Tổng tiền chiết khấu quy đổi (Default = 0)
discount_amount_oc Decimal x Tổng tiền chiết khấu nguyên tệ (Default = 0)
discount_rate Decimal x Tỷ lệ/ Tiền chiết khấu (Default = 0)
exchange_rate_operator String x Toán tử quy đổi
expiry_date DateTime Ngày hết hạn
guaranty_period String Thời hạn bảo hành
is_description Bool Là diễn giải
inventory_item_code String x Mã hàng
inventory_item_id Guid x ID hàng hóa/ Vật tư (nếu Thông tin is_description = false thì không được bỏ trống Thông tin này)

– có thể chỉ cần dùng inventory_item_code cũng có thể mapping với danh mục

(lấy ở API get_dictionary với data_type = 2)

inventory_item_name String x Tên hàng
is_promotion Bool Là hàng khuyến mãi (Default = false)
lot_no String Số lô
main_convert_rate Decimal x Tỷ lệ chuyển đổi ra đơn vị chính (Default = 1)
main_quantity Decimal x Số lượng theo đơn vị chính (Default = 0)
main_unit_id Guid x ID đơn vị tính (lấy ở API get_dictionary với data_type = 4)

– Có thể chỉ cần dùng unit_name cũng có thể mapping với danh mục

main_unit_name String x Tên đơn vị tính chính
main_unit_price Decimal x Đơn giá theo đơn vị chính tính (Default = 0)
quantity Decimal x Số lượng (Default = 0)
quantity_delivered_in Decimal Số đã giao (tính theo bán hàng) (Default = 0)
quantity_delivered_in_last_year Decimal Số đã giao năm trước (tính theo bán hàng) (Default = 0)
quantity_delivered_sa Decimal Số đã giao (tính theo phiếu xuất) (Default = 0)
quantity_delivered_sa_last_year Decimal Số đã giao năm trước (tính theo phiếu xuất) (Default = 0)
sort_order Int x Thứ tự sắp xếp (Default = 1)
specificity String
stock_code String Mã kho hàng
stock_id Guid ID kho (lấy ở API get_dictionary với data_type = 3)

– có thể chỉ cần dùng stock_code cũng có thể mapping với danh mục

stock_name String Tên kho hàng
unit_id Guid x ID đơn vị tính (lấy ở API get_dictionary với data_type = 4)

– Có thể chỉ cần dùng unit_name cũng có thể mapping với danh mục

unit_name String x Tên đơn vị tính
unit_price Decimal x Đơn giá theo đơn vị tính (Default = 0)
unit_price_after_tax Decimal Đơn giá theo đơn vị tính sau thuế (Default = 0)
vat_amount Decimal x Tồng tiền thuế quy đổi (Default = 0)
vat_amount_oc Decimal x Tổng tiền thuế nguyên tệ (Default = 0)
vat_rate Decimal x Thuế suất:

0%: 0

5%: 5

8%: 8

10%: 10

KCT: -1

KKKNT: -2

KHAC: -3

other_vat_rate Decimal Thuế suất khác (bắt buộc phải truyền khi vat_rate = -3)
5.1.2.3. Mã lỗi thường gặp
Mã lỗi Mô tả Phương án xử lý
Exception Lỗi chưa xác định được nguyên nhân Liên hệ kênh hỗ trợ của MISA
InvalidAppID Lỗi sai AppID (có thể do đang không sử dụng đúng appid do AMIS kế toán cung cấp cho dự án) Dùng đúng app_id được cung cấp khi đăng ký, hoặc dúng appi_id của đơn vị đã đăng ký
InvalidToken Lỗi do token không hợp lệ Thực hiện gọi lại API lấy access_token mới
ExpiredToken Lỗi do token đã hết hạn Thực hiện gọi lại API lấy access_token mới
InvalidParam Tham số không hợp lệ Kiểm tra lại tham số đầu vào, xem thêm mô tả ở ErrorMessage
IsCreatedVoucher Đã sinh chứng từ kế toán Yêu cầu sinh chứng từ đã được Lập chứng từ, muốn thực hiện update thì xóa Chứng từ đã sinh
VoucherNotFound Không tìm thấy đề nghị sinh chứng từ kế toán Thực hiện tạo mới chứng từ hoặc kiểm tra org_refid đã đúng chưa
DBAmisNotConnectDBACT Chưa thiết lập kết nối với dữ liệu kế toán nào Kiểm tra thiết lập kết nối tại ứng dụng Amis kế toán
InvalidAccessToken Lỗi do mã truy cập không hợp lệ Thực hiện gọi lại API lấy access_token mới
AppIDDisconnect Đã ngắt kết nối ứng dụng app_id đã bị ngắt kết nối, muốn kết nối lại, liên hệ kênh hỗ trợ của MISA

 

5.1.3. Giảm giá hàng bán

5.1.3.1. Mô tả về API
Thông tin Diễn giải
URL /apir/sync/actopen/save
Method Post
Body request {

    “app_id“: “{app_id}”, //kiểu dữ liệu lấy về

    “org_company_code”: “{org_company_code}”

    “voucher“: [Danh sách sa_discount sử dụng]

}

Response {

    “Success“: true,

    “ErrorMessage“: “”,

    “Data“: “Hệ thống đã ghi nhận yêu cầu đồng bộ vào hàng đợi, dữ liệu sẽ được đồng bộ sang hệ thống AMIS Kế toán sớm nhất có thể. Sau khi xử lý xong yêu cầu đồng bộ, hệ thống sẽ trả kết quả đồng bộ vào đường dẫn callback mà đối tác đã cung cấp cho AMIS kế toán.”

}

Phản hồi ghi nhận kết quả trả về Data khi Response thành công

 

5.1.3.2. Mô tả đối tượng – sa_discount
Tên trường Kiểu dữ liệu Bắt buộc Diễn giải
voucher_type Int x 10
detail Object x Chi tiết chứng từ
pu_invoice Object Thông tin hóa đơn nhận
org_refid String x ID của chứng từ dữ liệu gốc
org_reftype Int? x Loại chứng từ gốc
org_refno String x Số chứng từ gốc
org_reftype_name String Tên loại chứng từ trên dữ liệu gốc
account_object_address String Địa chỉ khách hàng
account_object_code String Mã đối tượng
ccount_object_id Guid? ID đối tượng (lấy ở API get_dictionary với data_type = 1)

– có thể chỉ sử dụng account_object_code cũng có thể mapping được với danh mục

account_object_name String Tên khách hàng
branch_id Guid? x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
created_by String Người tạo
created_date DateTime? Ngày tạo
currency_id String Loại tiền
discount_rate_voucher Decimal Tỷ lệ chiết klhấu theo mặt hàng
discount_type Int? Loại chiết khấu:

0: Không chiết khấu

1: Theo mặt hàng

2: Theo % hóa đơn

3: Theo số tiền trên tổng hóa đơn

employee_code String Mã nhân viên
employee_id Guid? Id Nhân viên (lấy ở API get_dictionary với data_type = 1 (is_employee = true))

– có thể chỉ sử dụng employee_code cũng có thể mapping được với danh mục

employee_name String Tên nhân viên
exchange_rate Decimal Tỉ giá hối đoái
inv_date DateTime? x Ngày hoá đơn
inv_no String x Số hoá đơn
inv_series String x Ký hiệu hoá đơn
journal_memo String Diễn giải
modified_by String Chỉnh Người sửa
modified_date DateTime? Ngày chỉnh sửa
posted_date DateTime? x Ngày hạch toán
receiver String Người nhận
refdate DateTime? x Ngày chứng từ
refno_finance String Số chứng từ
reforder long? Số thứ tự nhập chứng từ
reftype Int? x Loại chứng từ

3550: Giảm giá hàng bán – Giảm trừ công nợ

3551: Giảm giá hàng bán – Tiền mặt

3552: Giảm giá hàng bán – Giảm trừ công nợ

3553: Giảm giá hàng bán – Tiền mặt

3554: Giảm giá hàng bán – Giảm trừ công nợ

3555: Giảm giá hàng bán – Tiền mặt

detail List<detail> x Danh sách hàng hóa
sa_invoice sa_invoice Thông tin hóa đơn kèm theo
Thông tin chi tiết (detail)
account_name String Tên tài khoản
amount Decimal x Thành tiền quy đổi
amount_oc Decimal x Thành tiền
bank_account_id Guid? ID tài khoản ngân hàng
bank_account_number String Số tài khoản ngân hàng
bank_name String Tên chi nhánh của tài khoản ngân hàng
cost_account String x Tài khoản giá vốn
cost_amount_finance Decimal Tiền vốn theo sổ tài chinh
credit_account String x TK Có
debit_account String x TK Nợ
description String x Diễn giải
discount_account String TK chiết khấu
discount_amount Decimal Tiền chiết khấu quy đổi
discount_amount_oc Decimal Tiền chiết khấu
discount_rate Decimal Tỷ lệ chiết khấu
exchange_rate_operator String x Toán tử quy đổi *= nhân; / = chia
inventory_item_code String x Mã hàng
inventory_item_id Guid? x ID hàng hóa/ Vật tư (nếu Thông tin is_description = false thì không được bỏ trống Thông tin này)

– có thể chỉ cần dùng inventory_item_code cũng có thể mapping với danh mục

(lấy ở API get_dictionary với data_type = 2)

inventory_item_name String x Tên vật tư
inventory_resale_type_id Int? x Hàng hóa ký gửi, bán hộ 1: Hàng hóa giữ hộ, gia công 2: Hàng hóa bán hộ, ký gửi
is_description Bool? Là dòng diễn giải
main_convert_rate Decimal x Tỷ lệ chuyển đổi ra đơn vị chính
main_quantity Decimal x Số lượng theo đơn vị chính
main_unit_id Guid? x ID đơn vị tính (lấy ở API get_dictionary với data_type = 4)

– Có thể chỉ cần dùng unit_name cũng có thể mapping với danh mục

main_unit_name String x Tên đơn vị chính
main_unit_price Decimal x Đơn giá theo đơn vị chính
not_in_vat_declaration Bool? HHDV không tổng hợp trên tờ khai GTGT
quantity Decimal x Số lượng
sort_order Int? x Thứ tự sắp xếp các dòng chi tiết
unit_id Guid? x ID đơn vị tính (lấy ở API get_dictionary với data_type = 4)

– Có thể chỉ cần dùng unit_name cũng có thể mapping với danh mục

unit_name String x Tên đơn vị tính
unit_price Decimal x Đơn giá theo đơn vị tính
vat_account String TK Thuế
vat_amount Decimal Tiền thuế quy đổi
vat_amount_oc Decimal Tiền thuế nguyên tệ
vat_description String Diễn giải thuế
vat_rate Decimal Thuế suất:

0%: 0

5%: 5

8%: 8

10%: 10

KCT: -1

KKKNT: -2

KHAC: -3

other_vat_rate Decimal Thuế suất khác (bắt buộc phải truyền khi vat_rate = -3)
String ID công trình

– có thể chỉ cần dùng project_work_code để mapping với danh mục

String Mã công trình
String Tên công trình
Thông tin hoá đơn (sa_invoice)
branch_id Guid x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
account_object_id Guid ID đối tượng (lấy ở API get_dictionary với data_type = 1)

– có thể chỉ sử dụng account_object_code cũng có thể mapping được với danh mục

account_object_name String Tên nhà cung cấp/ khách hàng/ cán bộ
account_object_address String Địa chỉ người nhận
account_object_code String Mã nhà cung cấp
reftype Int? x Loại chứng từ

3565: Hóa đơn giảm giá hàng bán

refdate Datetime? x Ngày chứng từ (Chi tiền mặt/ Chứng từ ghi nợ)
posted_date Datetime? x Ngày hạch toán (Chi tiền mặt/ Chứng từ ghi nợ)
inv_date Datetime? x Ngày hóa đơn
inv_template_no String x Mẫu số hóa đơn
inv_series String x Ký hiệu hóa đơn
inv_no String x Số hóa đơn
5.1.3.3. Mã lỗi thường gặp
Mã lỗi Mô tả Phương án xử lý
Exception Lỗi chưa xác định được nguyên nhân Liên hệ kênh hỗ trợ của MISA
InvalidAppID Lỗi sai AppID (có thể do đang không sử dụng đúng appid do AMIS kế toán cung cấp cho dự án) Dùng đúng app_id được cung cấp khi đăng ký, hoặc dúng appi_id của đơn vị đã đăng ký
InvalidToken Lỗi do token không hợp lệ Thực hiện gọi lại API lấy access_token mới
ExpiredToken Lỗi do token đã hết hạn Thực hiện gọi lại API lấy access_token mới
InvalidParam Tham số không hợp lệ Kiểm tra lại tham số đầu vào, xem thêm mô tả ở ErrorMessage
IsCreatedVoucher Đã sinh chứng từ kế toán Yêu cầu sinh chứng từ đã được Lập chứng từ, muốn thực hiện update thì xóa Chứng từ đã sinh
VoucherNotFound Không tìm thấy đề nghị sinh chứng từ kế toán Thực hiện tạo mới chứng từ hoặc kiểm tra org_refid đã đúng chưa
DBAmisNotConnectDBACT Chưa thiết lập kết nối với dữ liệu kế toán nào Kiểm tra thiết lập kết nối tại ứng dụng Amis kế toán
InvalidAccessToken Lỗi do mã truy cập không hợp lệ Thực hiện gọi lại API lấy access_token mới
AppIDDisconnect Đã ngắt kết nối ứng dụng app_id đã bị ngắt kết nối, muốn kết nối lại, liên hệ kênh hỗ trợ của MISA

 

5.1.4. Hóa đơn bán hàng

5.1.4.1 Mô tả về API
Thông tin Diễn giải
URL /apir/sync/actopen/save
Method Post
Body request {

    “app_id“: “{app_id}”, //kiểu dữ liệu lấy về

    “org_company_code”: “{org_company_code}”

    “voucher“: [Danh sách sa_invoice sử dụng]

}

Response {

    “Success“: true,

    “ErrorMessage“: “”,

    “Data“: “Hệ thống đã ghi nhận yêu cầu đồng bộ vào hàng đợi, dữ liệu sẽ được đồng bộ sang hệ thống AMIS Kế toán sớm nhất có thể. Sau khi xử lý xong yêu cầu đồng bộ, hệ thống sẽ trả kết quả đồng bộ vào đường dẫn callback mà đối tác đã cung cấp cho AMIS kế toán.”

}

Phản hồi ghi nhận kết quả trả về Data khi Response thành công

 

5.1.4.2. Mô tả đối tượng – sa_invoice
Tên trường Kiểu dữ liệu Bắt buộc Diễn giải
voucher_type Int x 11
org_refid String x ID của chứng từ dữ liệu gốc
org_reftype Int? x Loại chứng từ gốc
org_refno String x Số chứng từ gốc
org_reftype_name String Tên loại chứng từ trên dữ liệu gốc
account_object_address String Địa chỉ
account_object_bank_account String Tài khoản của khách hàng
account_object_bank_name String Tên tài khoản ngân hàng
account_object_code String x Mã đối tượng
account_object_id Guid x ID đối tượng (lấy ở API get_dictionary với data_type = 1)

– có thể chỉ sử dụng account_object_code cũng có thể mapping được với danh mục

account_object_name String x Tên đối tượng
account_object_tax_code String Mã số thuế của khách hàng
branch_id Guid Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
buyer String Người mua hàng
common_inventory_name String Tên mặt hàng chung
container_no String Số container
contract_code String Số hợp đồng
contract_date DateTime Ngày hợp đồng
currency_id String Loại tiền
discount_rate_voucher Decimal Tỷ lệ chiết klhấu theo mặt hàng (Default = 0)
discount_type Int Loại chiết khấu (Default = 0)
employee_code String Mã nhân viên bán hàng
employee_id Guid Id Nhân viên (lấy ở API get_dictionary với data_type = 1 (is_employee = true))

– có thể chỉ sử dụng employee_code cũng có thể mapping được với danh mục

employee_name String Nhân viên/ nhân viên bán hàng
exchange_rate Decimal Tỉ giá hối đoái
include_invoice Int Có đính kèm hóa đơn không?

0: Không kèm hóa đơn;

1: Nhận kèm hóa đơn;

2: Không có hóa đơn

inv_date DateTime x Ngày hóa đơn
inv_no String Số hóa đơn
inv_series String Ký hiệu hóa đơn
inv_template_no String Mẫu số hóa đơn
inv_type_id Int Loại hóa đơn:

Chia ra làm 2 loại:

+ Có sử dụng hóa đơn điện tử: null

+ Không sử dụng hóa đơn điện tử: 0

Chi tiết như sau :

1.Hóa đơn giá trị gia tăng;

2.Hóa đơn bán hàng;

3.Phiếu xuất kho kiêm vận chuyển hàng hóa nội bộ;

4.Phiếu xuất kho gửi bán hàng đại lý;

5.Hóa đơn xuất khẩu;

6.Hóa đơn bán hàng (dành cho tổ chức, cá nhân trong khu phi thuế quan)

is_branch_issued Bool Hóa đơn được cấp bởi chi nhánh (Default = false)
is_invoice_replace Bool Là hóa đơn thay thế (Default = false)
is_paid Bool Đã thanh toán đủ (Default = false)
is_posted Bool Đã hạch toán (Default = false)
is_posted_last_year Bool Đã hạch toán năm trước (Default = false)
payment_method String Hình thức thanh toán
place_of_delivery String Địa điểm giao hàng
place_of_receipt String Địa điểm nhận hàng
reftype Int x Loại chứng từ

3560: Hóa đơn bán hàng hóa, dịch vụ trong nước

3561: Hóa đơn bán hàng xuất khẩu

3562: Hóa đơn bán hàng đại lý bán đúng giá

3563: Hóa đơn bán hàng ủy thác xuất khẩu

3564: Hóa đơn trả lại hàng mua

3565: Hóa đơn giảm giá hàng bán

3567: Hóa đơn điều chỉnh tăng

3568: Hóa đơn điều chỉnh giảm

3569: Hóa đơn điều chỉnh Thông tin

contract_code String Số hợp đồng

sử dụng khi reftype =3561|3563

contract_date String Ngày hợp đồng

sử dụng khi reftype =3561|3563

place_of_receipt String Địa điểm nhận hàng

sử dụng khi reftype =3561|3563

bill_of_lading_no String Số vận đơn

sử dụng khi reftype =3561|3563

container_no String Số container

sử dụng khi reftype =3561|3563

transport_name String Đơn vị vận chuyển

sử dụng khi reftype =3561|3563

reftype_name String Tên loại chứng từ
transport_name String Đơn vị vận chuyển
detail List<detail> Danh sách hàng hóa
Thông tin chi tiết (detail)
amount Decimal x Thành tiền QĐ (Default = 0)
amount_after_tax Decimal (Default = 0)
amount_oc Decimal x Thành tiền (Default = 0)
description Stringx x Tên hàng
discount_amount Decimal Tiền CK QĐ (Default = 0)
discount_amount_oc Decimal Tiền CK (Default = 0)
discount_rate Decimal Tỷ lệ CK (Default = 0)
exchange_rate_operator String x Toán tử quy đổi
expiry_date DateTime Ngày hết hạn
is_description Bool Là dòng diễn giải (Default = false)
inventory_item_code String x Mã hàng hóa/ vật tư
inventory_item_id Guid x ID hàng hóa/ Vật tư (nếu Thông tin is_description = false thì không được bỏ trống Thông tin này)

– có thể chỉ cần dùng inventory_item_code cũng có thể mapping với danh mục

(lấy ở API get_dictionary với data_type = 2)

inventory_item_name String x Tên vật tư hàng hoá
is_promotion Bool Là hàng khuyến mại
lot_no String Số lô
main_convert_rate Decimal x Tỷ lệ chuyển đổi ra đơn vị tính chính (Default = 1)
main_quantity Decimal x Số lượng theo đơn vị tính chính (Default = 0)
main_unit_id Guid x ID đơn vị tính (lấy ở API get_dictionary với data_type = 4)

– Có thể chỉ cần dùng unit_name cũng có thể mapping với danh mục

main_unit_name String x Tên đơn vị tính chính
main_unit_price Decimal x Đơn giá theo đơn vị tính chính
not_in_vat_declaration Bool HHDV không tổng hợp trên tờ khai GTGT (Default = false)
quantity Decimal x Số lượng (Default = 0)
sort_order Int x Số thứ tự (Default = false)
tax_type Int Loại thuế

1: Tăng thuế đầu ra

2: Giảm thuế đầu ra

3: Tăng thuế đầu vào

4: Giảm thuế đầu vào

unit_id Guid x ID đơn vị tính (lấy ở API get_dictionary với data_type = 4)

– Có thể chỉ cần dùng unit_name cũng có thể mapping với danh mục

unit_name String x Tên đơn vị tính
unit_price Decimal x Đơn giá (Default = 0)
unit_price_after_tax Decimal x Đơn giá sau thuế (Default = 0)
vat_account String Tài khoản thuế
vat_amount Decimal Tiền thuế GTGT QĐ
vat_amount_oc Decimal Tiền thuế GTGT
vat_rate Decimal Thuế suất:

0%: 0

5%: 5

8%: 8

10%: 10

KCT: -1

KKKNT: -2

KHAC: -3

other_vat_rate Decimal Thuế suất khác (bắt buộc phải truyền khi vat_rate = -3)
5.1.4.3. Mã lỗi thường gặp
Mã lỗi Mô tả Phương án xử lý
Exception Lỗi chưa xác định được nguyên nhân Liên hệ kênh hỗ trợ của MISA
InvalidAppID Lỗi sai AppID (có thể do đang không sử dụng đúng appid do AMIS kế toán cung cấp cho dự án) Dùng đúng app_id được cung cấp khi đăng ký, hoặc dúng appi_id của đơn vị đã đăng ký
InvalidToken Lỗi do token không hợp lệ Thực hiện gọi lại API lấy access_token mới
ExpiredToken Lỗi do token đã hết hạn Thực hiện gọi lại API lấy access_token mới
InvalidParam Tham số không hợp lệ Kiểm tra lại tham số đầu vào, xem thêm mô tả ở ErrorMessage
IsCreatedVoucher Đã sinh chứng từ kế toán Yêu cầu sinh chứng từ đã được Lập chứng từ, muốn thực hiện update thì xóa Chứng từ đã sinh
VoucherNotFound Không tìm thấy đề nghị sinh chứng từ kế toán Thực hiện tạo mới chứng từ hoặc kiểm tra org_refid đã đúng chưa
DBAmisNotConnectDBACT Chưa thiết lập kết nối với dữ liệu kế toán nào Kiểm tra thiết lập kết nối tại ứng dụng Amis kế toán
InvalidAccessToken Lỗi do mã truy cập không hợp lệ Thực hiện gọi lại API lấy access_token mới
AppIDDisconnect Đã ngắt kết nối ứng dụng app_id đã bị ngắt kết nối, muốn kết nối lại, liên hệ kênh hỗ trợ của MISA

 

5.1.5. Trả lại hàng bán

5.1.5.1. Mô tả về API
Thông tin Diễn giải
URL /apir/sync/actopen/save
Method Post
Body request {

    “app_id“: “{app_id}”, //kiểu dữ liệu lấy về

    “org_company_code”: “{org_company_code}”

    “voucher“: [Danh sách sa_return sử dụng]

}

Response {

    “Success“: true,

    “ErrorMessage“: “”,

    “Data“: “Hệ thống đã ghi nhận yêu cầu đồng bộ vào hàng đợi, dữ liệu sẽ được đồng bộ sang hệ thống AMIS Kế toán sớm nhất có thể. Sau khi xử lý xong yêu cầu đồng bộ, hệ thống sẽ trả kết quả đồng bộ vào đường dẫn callback mà đối tác đã cung cấp cho AMIS kế toán.”

}

Phản hồi ghi nhận kết quả trả về Data khi Response thành công

 

5.1.5.2. Mô tả đối tượng – sa_return
Tên trường Kiểu dữ liệu Bắt buộc Diễn giải
voucher_type Int x 12
detail Object x Chi tiết chứng từ
in_inward Object Thông tin phiếu nhập kho (sử dụng khi là chứng từ bán hàng kiêm phiếu xuất)
pu_invoice Object x Thông tin hóa đơn nhận
org_refid String x ID của chứng từ dữ liệu gốc
org_reftype Int? x Loại chứng từ gốc
org_refno String x Số chứng từ gốc
org_reftype_name String Tên loại chứng từ trên dữ liệu gốc
account_object_address String Địa chỉ khách hàng
account_object_code String Mã đối tượng
account_object_id Guid? ID đối tượng (lấy ở API get_dictionary với data_type = 1)

– có thể chỉ sử dụng account_object_code cũng có thể mapping được với danh mục

account_object_name String Tên khách hàng
branch_id Guid x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
created_by String Người tạo
created_date DateTime? Ngày tạo
currency_id String x Loại tiền
discount_rate_voucher Decimal Tỷ lệ chiết klhấu theo mặt hàng
discount_type Int? Loại chiết khấu:

0: Không chiết khấu

1: Theo mặt hàng

2: Theo % hóa đơn

3: Theo số tiền trên tổng hóa đơn

employee_code String Mã nhân viên
employee_id Guid? Id Nhân viên (lấy ở API get_dictionary với data_type = 1 (is_employee = true))

– có thể chỉ sử dụng employee_code cũng có thể mapping được với danh mục

employee_name String Tên nhân viên
exchange_rate Decimal x Tỉ giá hối đoái
in_reforder DateTime? Giờ nhập xuất
inv_date DateTime? x Ngày hoá đơn
inv_no String x Số hoá đơn
inv_series String x Ký hiệu hoá đơn
is_created_in_inward_last_year Bool? Đã lập phiếu nhập năm trước
is_posted_finance Bool? Trạng thái ghi sổ Sổ tài chính
is_return_with_inward Bool? x Có kèm phiếu nhập kho không?
Int Trạng thái lập hóa đơn (mặc định = 3)

1 – Người bán xuất hóa đơn điều chỉnh

2 – Không có hóa đơn

3 – Người mua xuất hóa đơn

journal_memo String Diễn giải
modified_by String Chỉnh Người sửa
modified_date DateTime? Ngày chỉnh sửa
posted_date DateTime? x Ngày hạch toán
refdate DateTime? x Ngày chứng từ
receiver String Người nhận
refno_finance String Số chứng từ
reftype Int? x Loại chứng từ

3540: Hàng bán bị trả lại – Giảm trừ công nợ

3541: Hàng bán bị trả lại – Tiền mặt

3542: Bán đại lý bán đúng giá – Giảm trừ công nợ

3543: Bán đại lý bán đúng giá – Tiền mặt

3544: Bán hàng ủy thác xuất khẩu – Giảm trừ công nợ

3545: Bán hàng ủy thác xuất khẩu – Tiền mặt

detail List<detail> Danh sách hàng hóa
in_inward in_inward Thông tin nhập kho
pu_invoice pu_invoice Thông tin hóa đơn hoàn
Thông tin chi tiết (detail)
account_name String Tên tài khoản
bank_account_id Guid? ID tài khoản ngân hàng
bank_account_number String Số tài khoản ngân hàng
bank_name String Tên chi nhánh của tài khoản ngân hàng
cost_account String x Tài khoản giá vốn
cost_amount_finance Decimal Tiền vốn theo sổ tài chinh
credit_account String x TK Có (TK tiền)
debit_account String x TK Nợ (TK trả lại)
discount_account String TK chiết khấu
discount_amount Decimal Tiền chiết khấu quy đổi
discount_amount_oc Decimal Tiền chiết khấu
discount_rate Decimal Tỷ lệ chiết khấu
exchange_rate_operator String x Toán tử quy đổi *= nhân; / = chia (mặc định là nhân)
inventory_item_id Guid? x ID hàng hóa/ Vật tư (nếu Thông tin is_description = false thì không được bỏ trống Thông tin này)

– có thể chỉ cần dùng inventory_item_code cũng có thể mapping với danh mục

(lấy ở API get_dictionary với data_type = 2)

inventory_item_code String x Mã hàng
inventory_item_name String x Tên vật tư
inventory_resale_type_id Int? x Hàng hóa ký gửi, bán hộ

1: Hàng hóa giữ hộ, gia công

2: Hàng hóa bán hộ, ký gửi

0: Khác

description String x Diễn giải
is_description Bool? Đánh dấu dòng diễn giải
is_promotion Bool? Là hàng khuyến mại
is_un_update_outward_price Bool? Không cho phép cập nhật giá xuất kho
main_convert_rate Decimal x Tỷ lệ chuyển đổi ra đơn vị chính
main_quantity Decimal x Số lượng theo đơn vị chính
main_unit_id Guid? x ID đơn vị tính (lấy ở API get_dictionary với data_type = 4)

– Có thể chỉ cần dùng unit_name cũng có thể mapping với danh mục

main_unit_name String x Tên đơn vị chính
main_unit_price Decimal x Đơn giá theo đơn vị chính
not_in_vat_declaration Bool? x HHDV không tổng hợp trên tờ khai GTGT
purchase_purpose_id String x Mã nhóm hàng hóa dịch vụ

Cần truyền purchase_purpose_id tương ứng của mỗi loại để tự động mapping trên hệ thống Amis Kế toán

{

“purchase_purpose_code”: “1”,

“purchase_purpose_id”: “ed4bd91d-83ac-4a26-b4c1-4bce85faecb8”,

“purchase_purpose_name”: “Hàng hoá, dịch vụ dùng riêng cho SXKD chịu thuế GTGT và sử dụng cho các hoạt động cung cấp hàng hoá, dịch vụ không kê khai, nộp thuế GTGT đủ điều kiện khấu thuế”

},

{

“purchase_purpose_code”: “2”,

“purchase_purpose_id”: “d1609311-93aa-41c3-9d24-020bb6d47af5”,

“purchase_purpose_name”: “Hàng hóa, dịch vụ dùng chung cho SXKD chịu thuế và không chịu thuế đủ điều kiện khấu trừ thuế”

},

{

“purchase_purpose_code”: “3”,

“purchase_purpose_id”: “dcf4c47b-dd5b-4e2b-a524-4dbf6f815339”,

“purchase_purpose_name”: “Hàng hóa, dịch vụ dùng cho dự án đầu tư đủ điều kiện khấu trừ thuế”

},

{

“purchase_purpose_code”: “4”,

“purchase_purpose_id”: “1145d797-1304-446a-8fe9-d8b94f4568e2”,

“purchase_purpose_name”: “Hàng hóa, dịch vụ không đủ điều kiện khấu trừ”

},

{

“purchase_purpose_code”: “5”,

“purchase_purpose_id”: “c1c27910-be49-470e-a9de-f32321b9d12e”,

“purchase_purpose_name”: “Hàng hóa, dịch vụ không phải tổng hợp trên tờ khai 01\/ GTGT”

}

quantity Decimal x Số lượng
amount Decimal x Thành tiền quy đổi
amount_oc Decimal x Thành tiền
sort_order Int? x Thứ tự sắp xếp các dòng chi tiết
stock_account String x Tài khoản kho
stock_code String x Mã kho
stock_id Guid? x ID kho (lấy ở API get_dictionary với data_type = 3)

– có thể chỉ cần dùng stock_code cũng có thể mapping với danh mục

stock_name String x Tên kho
unit_id Guid? x ID đơn vị tính (lấy ở API get_dictionary với data_type = 4)

– Có thể chỉ cần dùng unit_name cũng có thể mapping với danh mục

unit_name String x Tên đơn vị tính
unit_price Decimal x Đơn giá theo đơn vị tính
vat_account String TK Thuế
vat_amount Decimal Tiền thuế quy đổi
vat_amount_oc Decimal Tiền thuế nguyên tệ
vat_description String Diễn giải thuế
vat_rate Decimal Thuế suất:

0%: 0

5%: 5

8%: 8

10%: 10

KCT: -1

KKKNT: -2

KHAC: -3

other_vat_rate Decimal Thuế suất khác (bắt buộc phải truyền khi vat_rate = -3)
lot_no String Số lô
expiry_date DateTime? Hạn dùng
String ID công trình

– có thể chỉ cần dùng project_work_code để mapping với danh mục

String Mã công trình
String Tên công trình
Thông tin nhập kho (in_inward)
reftype Int x Loại chứng từ

2013: Nhập kho từ hàng bán trả lại

reftype_name String Tên loại chứng từ
refdate DateTime x Ngày phiếu nhập
posted_date DateTime x Ngày hạch toán
account_object_id Guid x ID đối tượng (lấy ở API get_dictionary với data_type = 1)

– có thể chỉ sử dụng account_object_code cũng có thể mapping được với danh mục

account_object_code String x Mã khách hàng
account_object_name String x Tên khách hàng
account_object_address String Địa chỉ
contact_name String Người giao hàng
branch_id Guid x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
currency_id String Loại tiền tệ
employee_id Guid Id Nhân viên (lấy ở API get_dictionary với data_type = 1 (is_employee = true))

– có thể chỉ sử dụng employee_code cũng có thể mapping được với danh mục

employee_code String Mã nhân viên
employee_name String Tên nhân viên
exchange_rate Decimal Tỷ giá
in_reforder DateTime x Ngày hạch toán
is_return_with_inward Bool x Trả lại nhập vào kho
unit_price_method Int? Đơn giá nhập kho

0 – Lấy từ đơn giá BQCK

1 – Nhập đơn giá bằng tay

journal_memo String x Diễn giải
Thông tin hoá đơn (pu_invoice) x
branch_id Guid x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
reftype Int? x Loại chứng từ:

3403: Hóa đơn hàng bán bị trả lại

refdate Datetime? x Ngày chứng từ (Chi tiền mặt/ Chứng từ ghi nợ)
posted_date Datetime? x Ngày hạch toán (Chi tiền mặt/ Chứng từ ghi nợ)
inv_date Datetime? x Ngày hóa đơn
account_object_id Guid ID đối tượng (lấy ở API get_dictionary với data_type = 1)

– có thể chỉ sử dụng account_object_code cũng có thể mapping được với danh mục

account_object_code String Mã nhà cung cấp
account_object_name String Tên nhà cung cấp/ khách hàng/ cán bộ
account_object_address String Địa chỉ người nhận
inv_template_no String x Mẫu số hóa đơn
inv_series String x Ký hiệu hóa đơn
inv_no String x Số hóa đơn
5.1.5.3. Mã lỗi thường gặp
Mã lỗi Mô tả Phương án xử lý
Exception Lỗi chưa xác định được nguyên nhân Liên hệ kênh hỗ trợ của MISA
InvalidAppID Lỗi sai AppID (có thể do đang không sử dụng đúng appid do AMIS kế toán cung cấp cho dự án) Dùng đúng app_id được cung cấp khi đăng ký, hoặc dúng appi_id của đơn vị đã đăng ký
InvalidToken Lỗi do token không hợp lệ Thực hiện gọi lại API lấy access_token mới
ExpiredToken Lỗi do token đã hết hạn Thực hiện gọi lại API lấy access_token mới
InvalidParam Tham số không hợp lệ Kiểm tra lại tham số đầu vào, xem thêm mô tả ở ErrorMessage
IsCreatedVoucher Đã sinh chứng từ kế toán Yêu cầu sinh chứng từ đã được Lập chứng từ, muốn thực hiện update thì xóa Chứng từ đã sinh
VoucherNotFound Không tìm thấy đề nghị sinh chứng từ kế toán Thực hiện tạo mới chứng từ hoặc kiểm tra org_refid đã đúng chưa
DBAmisNotConnectDBACT Chưa thiết lập kết nối với dữ liệu kế toán nào Kiểm tra thiết lập kết nối tại ứng dụng Amis kế toán
InvalidAccessToken Lỗi do mã truy cập không hợp lệ Thực hiện gọi lại API lấy access_token mới
AppIDDisconnect Đã ngắt kết nối ứng dụng app_id đã bị ngắt kết nối, muốn kết nối lại, liên hệ kênh hỗ trợ của MISA

 

5.2. Chứng từ mua hàng

5.2.1. Mua hàng nhập kho

5.2.1.1. Mô tả về API
Thông tin Diễn giải
URL /apir/sync/actopen/save
Method Post
Body request {

    “app_id“: “{app_id}”, //kiểu dữ liệu lấy về

    “org_company_code”: “{org_company_code}”

    “voucher“: [Danh sách in_inward sử dụng]

}

Response {

    “Success“: true,

    “ErrorMessage“: “”,

    “Data“: “Hệ thống đã ghi nhận yêu cầu đồng bộ vào hàng đợi, dữ liệu sẽ được đồng bộ sang hệ thống AMIS Kế toán sớm nhất có thể. Sau khi xử lý xong yêu cầu đồng bộ, hệ thống sẽ trả kết quả đồng bộ vào đường dẫn callback mà đối tác đã cung cấp cho AMIS kế toán.”

}

Phản hồi ghi nhận kết quả trả về Data khi Response thành công

 

5.2.1.2. Mô tả đối tượng – in_inward
Tên trường Kiểu dữ liệu Bắt buộc Diễn giải
voucher_type Int x 18
org_refid String x ID của chứng từ dữ liệu gốc
org_reftype Int? Loại chứng từ gốc
org_refno String x Số chứng từ gốc
org_reftype_name String Tên loại chứng từ trên dữ liệu gốc
reftype Int? x Loại chứng từ :

302: Mua hàng trong nước nhập kho chưa thanh toán

307: Mua hàng trong nước nhập kho – Tiền mặt

308: Mua hàng trong nước nhập kho – Ủy nhiệm chi

309: Mua hàng trong nước nhập kho – Chuyển khoản

310: Mua hàng trong nước nhập kho – Séc tiền mặt

312: Mua hàng trong nước không qua kho chưa thanh toán

313: Mua hàng trong nước không qua kho – Tiền mặt

314: Mua hàng trong nước không qua kho – Ủy nhiệm chi

315: Mua hàng trong nước không qua kho – Chuyển khoản

316: Mua hàng trong nước không qua kho – Séc tiền mặt

318: Mua hàng nhập khẩu nhập kho chưa thanh toán

319: Mua hàng nhập khẩu nhập kho – Tiền mặt

320: Mua hàng nhập khẩu nhập kho – Ủy nhiệm chi

321: Mua hàng nhập khẩu nhập kho – Chuyển khoản

322: Mua hàng nhập khẩu nhập kho – Séc tiền mặt

324: Mua hàng nhập khẩu không qua kho chưa thanh toán

325: Mua hàng nhập khẩu không qua kho – Tiền mặt

326: Mua hàng nhập khẩu không qua kho – Ủy nhiệm chi

327: Mua hàng nhập khẩu không qua kho – Chuyển khoản

328: Mua hàng nhập khẩu không qua kho – Séc tiền mặt

reftype_name String Tên loại chứng từ
refno String Số chứng từ
refno_finance String Số chứng từ Sổ tài chính
caba_refno_finance String Số chứng từ séc
posted_date DateTime? x Ngày hạch toán
refdate DateTime? x Ngày chứng từ
branch_id Guid x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
in_reforder DateTime? Ngày hạch toán
in_refdate DateTime? Chưa có
account_object_id Guid? ID đối tượng (lấy ở API get_dictionary với data_type = 1)

– có thể chỉ sử dụng account_object_code cũng có thể mapping được với danh mục

account_object_code String Mã nhà cung cấp
account_object_address String Địa chỉ nhà cung cấp
account_object_contact_name String Người giao hàng
discount_type Int Loại chiết khấu:

0: Không chiết khấu

1: Theo mặt hàng

2: Theo % hóa đơn

3: Số tiền trên tổng số hóa đơn

discount_by_invoice_rate Decimal Tỷ lệ chiết khấu theo % hoá đơn
journal_memo String Diễn giải
caba_journal_memo String Lý do chi/ Nội dung thanh toán
currency_id String x Loại tiền tệ
exchange_rate Decimal x Tỷ giá (mặc định là 1)
due_time Int Số ngày được nợ
due_date DateTime? Hạn thanh toán
document_included string Kèm theo
employee_id Guid Id Nhân viên (lấy ở API get_dictionary với data_type = 1 (is_employee = true))

có thể chỉ sử dụng employee_code cũng có thể mapping được với danh mục

employee_name String Tên nhân viên mua hàng
total_sale_amount_oc Decimal x Tổng tiền hàng nguyên tệ
total_sale_amount Decimal x Tổng tiền hàng quy đổi
total_amount_oc Decimal x Tổng tiền thanh toán nguyên tệ
total_amount Decimal x Tổng tiền thanh toán quy đổi
total_discount_amount_oc Decimal x Chiết khấu nguyên tệ
total_discount_amount Decimal x Chiết khấu quy đổi
total_vat_amount_oc Decimal x Thuế GTGT nguyên tệ
total_vat_amount Decimal x Thuế GTGT quy đổi
custom_field string Trường mỡ rộng (hỗ trợ từ custom_field1->custom_field10
detail List<detail> Danh sách hàng hóa
pu_invoice pu_invoice Thông tin nhập kho
Thông tin chi tiết (details)
inventory_item_id Guid? x ID hàng hóa/ vật tư

(lấy ở API get_dictionary với data_type = 2)

– có thể chỉ cần dùng inventory_item_code cũng có thể mapping được với danh mục

inventory_item_code String x Mã vật tư
inventory_item_name String x Tên vật tư
purchase_purpose_id String x Mã nhóm hàng hóa dịch vụ

Cần truyền purchase_purpose_id tương ứng của mỗi loại để tự động mapping trên hệ thống Amis Kế toán

{

“purchase_purpose_code”: “1”,

“purchase_purpose_id”: “ed4bd91d-83ac-4a26-b4c1-4bce85faecb8”,

“purchase_purpose_name”: “Hàng hoá, dịch vụ dùng riêng cho SXKD chịu thuế GTGT và sử dụng cho các hoạt động cung cấp hàng hoá, dịch vụ không kê khai, nộp thuế GTGT đủ điều kiện khấu thuế”

},

{

“purchase_purpose_code”: “2”,

“purchase_purpose_id”: “d1609311-93aa-41c3-9d24-020bb6d47af5”,

“purchase_purpose_name”: “Hàng hóa, dịch vụ dùng chung cho SXKD chịu thuế và không chịu thuế đủ điều kiện khấu trừ thuế”

},

{

“purchase_purpose_code”: “3”,

“purchase_purpose_id”: “dcf4c47b-dd5b-4e2b-a524-4dbf6f815339”,

“purchase_purpose_name”: “Hàng hóa, dịch vụ dùng cho dự án đầu tư đủ điều kiện khấu trừ thuế”

},

{

“purchase_purpose_code”: “4”,

“purchase_purpose_id”: “1145d797-1304-446a-8fe9-d8b94f4568e2”,

“purchase_purpose_name”: “Hàng hóa, dịch vụ không đủ điều kiện khấu trừ”

},

{

“purchase_purpose_code”: “5”,

“purchase_purpose_id”: “c1c27910-be49-470e-a9de-f32321b9d12e”,

“purchase_purpose_name”: “Hàng hóa, dịch vụ không phải tổng hợp trên tờ khai 01\/ GTGT”

}

sort_order Int? x Thứ tự sắp xếp các dòng chi tiết
quantity Decimal x Số lượng
unit_price Decimal x Đơn giá
amount_oc Decimal x Thành tiền nguyên tệ
amount Decimal x Thành tiền quy đổi
import_charge_exchange_rate Decimal Tỷ giá hải quan
import_tax_rate_price Decimal Giá tính thuế NK = Giá FOB + Phí trước hải quan
vat_rate Decimal Thuế suất:

0%: 0

5%: 5

8%: 8

10%: 10

KCT: -1

KKKNT: -2

KHAC: -3

other_vat_rate Decimal Thuế suất khác (bắt buộc phải truyền khi vat_rate = -3)
vat_amount_oc Decimal Tiền thuế nguyên tệ
vat_amount Decimal Tiền thuế quy đổi
discount_rate Decimal Tỷ lệ chiết khấu
discount_amount_oc Decimal Tiền chiết khấu nguyên tệ
discount_amount Decimal Tiền chiết khấu quy đổi
fob_amount_oc Decimal Giá FOB ngoại tệ
fob_amount Decimal Giá FOB
inward_amount Decimal Giá trị nhập kho/ Tổng giá trị HHDV (Mua hàng ko qua kho)
description String x Tên hàng
vat_account String TK thuế GTGT
stock_id Guid? x ID kho (lấy ở API get_dictionary với data_type = 3)

– có thể chỉ cần dùng stock_code cũng có thể mapping với danh mục

stock_code String x Mã kho hàng
debit_account String x Tài khoản Nợ
credit_account String x Tài khoản Có
main_convert_rate Decimal x Tỷ lệ chuyển đổi ra đơn vị chính
main_quantity Decimal x Số lượng theo đơn vị chính
main_unit_id Guid? x ID đơn vị tính (lấy ở API get_dictionary với data_type = 4)

– Có thể chỉ cần dùng unit_name cũng có thể mapping với danh mục

main_unit_name String x Tên đơn vị tính chính
unit_id Guid? x ID đơn vị tính (lấy ở API get_dictionary với data_type = 4)

– Có thể chỉ cần dùng unit_name cũng có thể mapping với danh mục

unit_name String x Tên đơn vị tính chính
inventory_resale_type_id Int x Hàng hóa giữ hộ/ bán hộ
lot_no String Số lô
expiry_date DateTime? Hạn dùng
String ID công trình

– có thể chỉ cần dùng project_work_code để mapping với danh mục

String Mã công trình
String Tên công trình
Thông tin nhập kho (pu_invoice) Thông tin hóa đơn
branch_id Guid x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
account_object_id Guid ID đối tượng (lấy ở API get_dictionary với data_type = 1)

– có thể chỉ sử dụng account_object_code cũng có thể mapping được với danh mục

account_object_code String Mã nhà cung cấp
account_object_name String Tên nhà cung cấp/ khách hàng/ cán bộ
account_object_address String Địa chỉ người nhận
account_object_tax_code String Mã số thuế người nhận
refdate Datetime x Ngày chứng từ (Chi tiền mặt/ Chứng từ ghi nợ)
posted_date Datetime x Ngày hạch toán (Chi tiền mặt/ Chứng từ ghi nợ)
inv_date Datetime x Ngày hóa đơn
reftype Int x Loại chứng từ

3400: Nhận hóa đơn mua hàng hóa

include_invoice Int x Có đính kèm hóa đơn không?

0: Không kèm hóa đơn;

1: Nhận kèm hóa đơn;

2: Không có hóa đơn

inv_template_no String x Mẫu số hóa đơn
inv_series String x Ký hiệu hóa đơn
inv_no String x Số hóa đơn
total_turnover_amount Decimal Tổng tiền thanh toán quy đổi
total_turnover_amount_oc Decimal Tổng tiền thanh toán nguyên tệ
total_vat_amount Decimal Tổng tiền thuế quy đổi
total_vat_amount_oc Decimal Tổng tiền thuế nguyên tệ
exchange_rate Decimal Tỷ giá (mặc định là 1)
is_paid Bool Đánh dấu thanh toán đủ
refno_finance String Số chứng từ sổ tài chính (Phiếu chi/Chứng từ ghi nợ)
currency_id String Đồng tiền thanh toán
inv_link_code String Mã tra cứu hóa đơn
inv_link String Đường dẫn tra cứu
5.2.1.3. Mã lỗi thường gặp
Mã lỗi Mô tả Phương án xử lý
Exception Lỗi chưa xác định được nguyên nhân Liên hệ kênh hỗ trợ của MISA
InvalidAppID Lỗi sai AppID (có thể do đang không sử dụng đúng appid do AMIS kế toán cung cấp cho dự án) Dùng đúng app_id được cung cấp khi đăng ký, hoặc dúng appi_id của đơn vị đã đăng ký
InvalidToken Lỗi do token không hợp lệ Thực hiện gọi lại API lấy access_token mới
ExpiredToken Lỗi do token đã hết hạn Thực hiện gọi lại API lấy access_token mới
InvalidParam Tham số không hợp lệ Kiểm tra lại tham số đầu vào, xem thêm mô tả ở ErrorMessage
IsCreatedVoucher Đã sinh chứng từ kế toán Yêu cầu sinh chứng từ đã được Lập chứng từ, muốn thực hiện update thì xóa Chứng từ đã sinh
VoucherNotFound Không tìm thấy đề nghị sinh chứng từ kế toán Thực hiện tạo mới chứng từ hoặc kiểm tra org_refid đã đúng chưa
DBAmisNotConnectDBACT Chưa thiết lập kết nối với dữ liệu kế toán nào Kiểm tra thiết lập kết nối tại ứng dụng Amis kế toán
InvalidAccessToken Lỗi do mã truy cập không hợp lệ Thực hiện gọi lại API lấy access_token mới
AppIDDisconnect Đã ngắt kết nối ứng dụng app_id đã bị ngắt kết nối, muốn kết nối lại, liên hệ kênh hỗ trợ của MISA

 

5.2.2. Mua dịch vụ

5.2.2.1. Mô tả về API
Thông tin Diễn giải
URL /apir/sync/actopen/save
Method Post
Body request {

    “app_id“: “{app_id}”, //kiểu dữ liệu lấy về

    “org_company_code”: “{org_company_code}”

    “voucher“: [Danh sách pu_service sử dụng]

}

Response {

    “Success“: true,

    “ErrorMessage“: “”,

    “Data“: “Hệ thống đã ghi nhận yêu cầu đồng bộ vào hàng đợi, dữ liệu sẽ được đồng bộ sang hệ thống AMIS Kế toán sớm nhất có thể. Sau khi xử lý xong yêu cầu đồng bộ, hệ thống sẽ trả kết quả đồng bộ vào đường dẫn callback mà đối tác đã cung cấp cho AMIS kế toán.”

}

Phản hồi ghi nhận kết quả trả về Data khi Response thành công

 

5.2.2.2 Mô tả đối tượng – pu_service
Tên trường Kiểu dữ liệu Bắt buộc Diễn giải
voucher_type Int? x 17
org_refid String x ID của chứng từ dữ liệu gốc
org_reftype Int? x Loại chứng từ gốc
org_refno String x Số chứng từ gốc
org_reftype_name String Tên loại chứng từ trên dữ liệu gốc
reftype Int? x Loại chứng từ :

330: Chứng từ mua dịch vụ chưa thanh toán

331: Chứng từ mua dịch vụ – Tiền mặt

332: Chứng từ mua dịch vụ – Ủy nhiệm chi

333: Chứng từ mua dịch vụ – Chuyển khoản

334: Chứng từ mua dịch vụ – Séc tiền mặt

reftype_name String Tên loại chứng từ
refno String Số chứng từ
refno_finance String Số chứng từ Sổ tài chính
account_object_address String Địa chỉ người nhận
account_object_bank_account String Tài khoản của nhà cung cấp
account_object_bank_name String Tên ngân hàng của nhà cung cấp
account_object_code String Mã nhà cung cấp
account_object_contactname String Người nhận/ Người lĩnh tiền
account_object_id Guid? ID đối tượng (lấy ở API get_dictionary với data_type = 1)

– có thể chỉ sử dụng account_object_code cũng có thể mapping được với danh mục

account_object_name String Tên nhà cung cấp
bank_account_id Guid? Tài khoản ngân hàng của đơn vị trả tiền
bank_account_number String Số tài khoản ngân hàng của đơn vị trả tiền
bank_name String Tên ngân hàng đơn vị trả tiền: chỉ sử dụng cho chứng từ chi tiền gửi
branch_id Guid? x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
created_by String Người tạo
created_date DateTime? Ngày tạo
currency_id String Loại tiền
discount_type Int Loại chiết khấu:

0: Không chiết khấu

1: Theo mặt hàng

2: Theo % hóa đơn

3: Số tiền trên tổng số hóa đơn

discount_by_invoice_rate Decimal Tỷ lệ chiết khấu theo % hoá đơn
due_date DateTime? Ngày thanh toán
due_time Int? Hạn thanh toán (bao nhiêu ngày)
employee_id Guid? Id Nhân viên (lấy ở API get_dictionary với data_type = 1 (is_employee = true))

– có thể chỉ sử dụng employee_code cũng có thể mapping được với danh mục

employee_name String Tên nhân viên
employee_code String Mã nhân viên
exchange_rate Decimal Tỉ giá hối đoái
include_invoice Int? x Có đính kèm hóa đơn không?

0: Không kèm hóa đơn;

1: Nhận kèm hóa đơn;

2: Không có hóa đơn

is_freight_service Bool? Là chi phí mua hàng
is_paid Bool? Đã thanh toán đủ. Với Chưa thanh toán, khi trả hết tiền thì cập nhật = 1
journal_memo String Lý do chi/ Nội dung thanh toán
modified_by String Người chỉnh sửa
modified_date DateTime? Ngày chỉnh sửa
posted_date DateTime? Ngày hạch toán (Chi tiền mặt/ Chứng từ ghi nợ)
total_sale_amount_oc Decimal x Tổng tiền hàng nguyên tệ
total_sale_amount Decimal x Tổng tiền hàng quy đổi
total_amount_oc Decimal x Tổng tiền thanh toán nguyên tệ
total_amount Decimal x Tổng tiền thanh toán quy đổi
total_discount_amount_oc Decimal x Chiết khấu nguyên tệ
total_discount_amount Decimal x Chiết khấu quy đổi
total_vat_amount_oc Decimal x Thuế GTGT nguyên tệ
total_vat_amount Decimal x Thuế GTGT quy đổi
custom_field string Trường mỡ rộng (hỗ trợ từ custom_field1->custom_field10
detail List<detail> Danh sách hàng hóa
Thông tin chi tiết (detail)
account_name String Tên tài khoản
account_object_code String Mã đối tượng
account_object_id Guid? ID đối tượng (lấy ở API get_dictionary với data_type = 1)

– có thể chỉ sử dụng account_object_code cũng có thể mapping được với danh mục

account_object_name String Tên đối tượng
amount Decimal x Thành tiền quy đổi
amount_oc Decimal x Thành tiền nguyên tệ
credit_account String x Tài khoản có
debit_account String x Tài khoản nợ
description String x Tên hàng
discount_amount Decimal Tiền chiết khấu quy đổi
discount_amount_oc Decimal Tiền chiết khấu nguyên tệ
discount_rate Decimal Tỷ lệ chiết khấu
inv_date DateTime? Ngày hoá đơn
inv_no String Số hoá đơn
inv_series String Ký hiệu hoá đơn
inv_template_no String Loại hoá đơn
is_description Bool? Là dòng diễn giải
inventory_item_code String x Mã hàng hoá dịch vụ
inventory_item_id Guid? x ID hàng hóa/ vật tư

(lấy ở API get_dictionary với data_type = 2)

– có thể chỉ cần dùng inventory_item_code cũng có thể mapping được với danh mục

inventory_item_name String x Tên hàng hoá dịch vụ
purchase_purpose_id String x Mã nhóm hàng hóa dịch vụ

Cần truyền purchase_purpose_id tương ứng của mỗi loại để tự động mapping trên hệ thống Amis Kế toán

{

“purchase_purpose_code”: “1”,

“purchase_purpose_id”: “ed4bd91d-83ac-4a26-b4c1-4bce85faecb8”,

“purchase_purpose_name”: “Hàng hoá, dịch vụ dùng riêng cho SXKD chịu thuế GTGT và sử dụng cho các hoạt động cung cấp hàng hoá, dịch vụ không kê khai, nộp thuế GTGT đủ điều kiện khấu thuế”

},

{

“purchase_purpose_code”: “2”,

“purchase_purpose_id”: “d1609311-93aa-41c3-9d24-020bb6d47af5”,

“purchase_purpose_name”: “Hàng hóa, dịch vụ dùng chung cho SXKD chịu thuế và không chịu thuế đủ điều kiện khấu trừ thuế”

},

{

“purchase_purpose_code”: “3”,

“purchase_purpose_id”: “dcf4c47b-dd5b-4e2b-a524-4dbf6f815339”,

“purchase_purpose_name”: “Hàng hóa, dịch vụ dùng cho dự án đầu tư đủ điều kiện khấu trừ thuế”

},

{

“purchase_purpose_code”: “4”,

“purchase_purpose_id”: “1145d797-1304-446a-8fe9-d8b94f4568e2”,

“purchase_purpose_name”: “Hàng hóa, dịch vụ không đủ điều kiện khấu trừ”

},

{

“purchase_purpose_code”: “5”,

“purchase_purpose_id”: “c1c27910-be49-470e-a9de-f32321b9d12e”,

“purchase_purpose_name”: “Hàng hóa, dịch vụ không phải tổng hợp trên tờ khai 01\/ GTGT”

}

quantity Decimal x Số lượng
sort_order Int? x Thứ tự hiển thị
unit_id Guid? x ID đơn vị tính (lấy ở API get_dictionary với data_type = 4)

– Có thể chỉ cần dùng unit_name cũng có thể mapping với danh mục

unit_name String x Tên đơn vị tính
unit_price Decimal x Đơn giá
vat_account String Tài khoản thuế
vat_amount Decimal Tiền thuế quy đổi
vat_amount_oc Decimal Tiền thuế nguyên tệ
vat_description String Diễn giải thuế
vat_rate Decimal Thuế suất:

0 – 0%

5 – 5%

8 – 8%

10 – 10%

-1 – KCT

-2 – KKKNT

-3 – KHAC

other_vat_rate Decimal Thuế suất khác (bắt buộc phải truyền khi vat_rate = -3)
fob_amount Decimal Giá FOB quy đổi
fob_amount_oc Decimal Giá FOB nguyên tệ
import_tax_account String TK thuế nhập khẩu
import_tax_amount Decimal Tiền thuế nhập khẩu quy đổi
import_tax_amount_oc Decimal Tiền thuế nhập khẩu nguyên tệ
import_tax_rate Decimal % thuế nhập khẩu
import_tax_rate_price Decimal Giá tính thuế NK quy đổi = Giá FOB + Phí trước hải quan
import_tax_rate_price_origin Decimal Giá tính thuế NK nguyên tệ
import_charge_amount Decimal Phí trước hải quan
5.2.2.3. Mã lỗi thường gặp
Mã lỗi Mô tả Phương án xử lý
Exception Lỗi chưa xác định được nguyên nhân Liên hệ kênh hỗ trợ của MISA
InvalidAppID Lỗi sai AppID (có thể do đang không sử dụng đúng appid do AMIS kế toán cung cấp cho dự án) Dùng đúng app_id được cung cấp khi đăng ký, hoặc dúng appi_id của đơn vị đã đăng ký
InvalidToken Lỗi do token không hợp lệ Thực hiện gọi lại API lấy access_token mới
ExpiredToken Lỗi do token đã hết hạn Thực hiện gọi lại API lấy access_token mới
InvalidParam Tham số không hợp lệ Kiểm tra lại tham số đầu vào, xem thêm mô tả ở ErrorMessage
IsCreatedVoucher Đã sinh chứng từ kế toán Yêu cầu sinh chứng từ đã được Lập chứng từ, muốn thực hiện update thì xóa Chứng từ đã sinh
VoucherNotFound Không tìm thấy đề nghị sinh chứng từ kế toán Thực hiện tạo mới chứng từ hoặc kiểm tra org_refid đã đúng chưa
DBAmisNotConnectDBACT Chưa thiết lập kết nối với dữ liệu kế toán nào Kiểm tra thiết lập kết nối tại ứng dụng Amis kế toán
InvalidAccessToken Lỗi do mã truy cập không hợp lệ Thực hiện gọi lại API lấy access_token mới
AppIDDisconnect Đã ngắt kết nối ứng dụng app_id đã bị ngắt kết nối, muốn kết nối lại, liên hệ kênh hỗ trợ của MISA

 

5.2.3. Đơn mua hàng

5.2.3.1. Mô tả về API
Thông tin Diễn giải
URL /apir/sync/actopen/save
Method Post
Body request {

    “app_id“: “{app_id}”, //kiểu dữ liệu lấy về

    “org_company_code”: “{org_company_code}”

    “voucher“: [Danh sách pu_invoice sử dụng]

}

Response {

    “Success“: true,

    “ErrorMessage“: “”,

    “Data“: “Hệ thống đã ghi nhận yêu cầu đồng bộ vào hàng đợi, dữ liệu sẽ được đồng bộ sang hệ thống AMIS Kế toán sớm nhất có thể. Sau khi xử lý xong yêu cầu đồng bộ, hệ thống sẽ trả kết quả đồng bộ vào đường dẫn callback mà đối tác đã cung cấp cho AMIS kế toán.”

}

Phản hồi ghi nhận kết quả trả về Data khi Response thành công

 

5.2.3.2. Mô tả đối tượng – pu_invoice
Tên trường Kiểu dữ liệu Bắt buộc Diễn giải
voucher_type Int x 21
org_refid Guid x Chứng từ trên dữ liệu gốc
org_refno String x Số chứng từ trên dữ liệu gốc
org_reftype Int Ký hiệu loại chứng từ trên dữ liệu gốc
org_reftype_name String Tên loại chứng từ trên dữ liệu gốc
account_object_id giud x ID NCC (lấy ở API get_dictionary với data_type = 1)

– có thể chỉ sử dụng account_object_code cũng có thể mapping được với danh mục

account_object_code String x Mã NCC
account_object_name String x Tên NCC
account_object_address String Địa chỉ NCC
account_object_tax_code String Mã số thuế NCC
branch_id Guid Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
contact_name String Người liên hệ
currency_id String Loại tiền
created_by String Người tạo
created_date DateTime? Ngày tạo
discount_rate_voucher Decimal x Tỷ lệ/ Tiền chiết khấu theo mặt hàng/ tổng chứng từ (Default = 0)
discount_type Int x Loại chiết khấu:

0: Không chiết khấu

1: Theo mặt hàng

2: Theo % hóa đơn

3: Số tiền trên tổng số hóa đơn

employee_id Guid Id Nhân viên (lấy ở API get_dictionary với data_type = 1 (is_employee = true))

– có thể chỉ sử dụng employee_code cũng có thể mapping được với danh mục

employee_code String Mã nhân viên
employee_name String Tên nhân viên
exchange_rate Decimal Tỷ giá hối đoái
journal_memo String Ghi chú
receive_address String Địa chỉ nhận hàng
receive_date DateTime Ngày nhận hàng
other_term String Điều khoản khác
refdate DateTime x Ngày đơn hàng
refno String Số đơn hàng
reftype Int x Loại chứng từ

301: Đơn mua hàng

status Int x Tình trạng đơn hàng:

0: Chưa thực hiện

1: Đang thực hiện

2: Hoàn thành

3: Đã hủy bỏ

(Default = 0)

total_sale_amount_oc Decimal x Tổng tiền hàng nguyên tệ
total_sale_amount Decimal x Tổng tiền hàng quy đổi
total_amount_oc Decimal x Tổng tiền thanh toán nguyên tệ
total_amount Decimal x Tổng tiền thanh toán quy đổi
total_discount_amount_oc Decimal x Chiết khấu nguyên tệ
total_discount_amount Decimal x Chiết khấu quy đổi
total_vat_amount_oc Decimal x Thuế GTGT nguyên tệ
total_vat_amount Decimal x Thuế GTGT quy đổi
custom_field string Trường mỡ rộng (hỗ trợ từ custom_field1->custom_field10
detail List<detail> Danh sách hàng hóa
Thông tin chi tiết (detail)
amount Decimal x Tổng tiền thanh toán quy đổi (Default = 0)
amount_oc Decimal x Tổng tiền thanh toán nguyên tệ (Default = 0)
description String x Mô tả tên hàng
discount_amount Decimal Tổng tiền chiết khấu quy đổi (Default = 0)
discount_amount_oc Decimal Tổng tiền chiết khấu nguyên tệ (Default = 0)
discount_rate Decimal x Tỷ lệ/ Tiền chiết khấu (Default = 0)
exchange_rate_operator String x Toán tử quy đổi
is_description Bool x Là diễn giải
inventory_item_code String x Mã hàng
inventory_item_id Guid x ID hàng hóa/ Vật tư (nếu Thông tin is_description = false thì không được bỏ trống Thông tin này)

– có thể chỉ cần dùng inventory_item_code cũng có thể mapping với danh mục

(lấy ở API get_dictionary với data_type = 2)

inventory_item_name String x Tên hàng
main_convert_rate Decimal x Tỷ lệ chuyển đổi ra đơn vị chính (Default = 1)
main_quantity Decimal x Số lượng theo đơn vị chính (Default = 0)
main_unit_id Guid x ID đơn vị tính (lấy ở API get_dictionary với data_type = 4)

– Có thể chỉ cần dùng unit_name cũng có thể mapping với danh mục

main_unit_name String x Tên đơn vị tính chính
main_unit_price Decimal x Đơn giá theo đơn vị chính tính (Default = 0)
quantity Decimal x Số lượng (Default = 0)
sort_order Int x Thứ tự sắp xếp (Default = 1)
stock_code String Mã kho hàng
stock_id Guid ID kho (lấy ở API get_dictionary với data_type = 3)

– có thể chỉ cần dùng stock_code cũng có thể mapping với danh mục

stock_name String Tên kho hàng
unit_id Guid ID đơn vị tính (lấy ở API get_dictionary với data_type = 4)

– Có thể chỉ cần dùng unit_name cũng có thể mapping với danh mục

unit_name String Tên đơn vị tính
unit_price Decimal x Đơn giá theo đơn vị tính (Default = 0)
unit_price_after_tax Decimal Đơn giá theo đơn vị tính sau thuế (Default = 0)
vat_amount Decimal Tồng tiền thuế quy đổi (Default = 0)
vat_amount_oc Decimal Tổng tiền thuế nguyên tệ (Default = 0)
vat_rate Decimal Thuế suất:

0%: 0

5%: 5

8%: 8

10%: 10

KCT: -1

KKKNT: -2

KHAC: -3

other_vat_rate Decimal Thuế suất khác (bắt buộc phải truyền khi vat_rate = -3)
5.2.3.3. Mã lỗi thường gặp
Mã lỗi Mô tả Phương án xử lý
Exception Lỗi chưa xác định được nguyên nhân Liên hệ kênh hỗ trợ của MISA
InvalidAppID Lỗi sai AppID (có thể do đang không sử dụng đúng appid do AMIS kế toán cung cấp cho dự án) Dùng đúng app_id được cung cấp khi đăng ký, hoặc dúng appi_id của đơn vị đã đăng ký
InvalidToken Lỗi do token không hợp lệ Thực hiện gọi lại API lấy access_token mới
ExpiredToken Lỗi do token đã hết hạn Thực hiện gọi lại API lấy access_token mới
InvalidParam Tham số không hợp lệ Kiểm tra lại tham số đầu vào, xem thêm mô tả ở ErrorMessage
IsCreatedVoucher Đã sinh chứng từ kế toán Yêu cầu sinh chứng từ đã được Lập chứng từ, muốn thực hiện update thì xóa Chứng từ đã sinh
VoucherNotFound Không tìm thấy đề nghị sinh chứng từ kế toán Thực hiện tạo mới chứng từ hoặc kiểm tra org_refid đã đúng chưa
DBAmisNotConnectDBACT Chưa thiết lập kết nối với dữ liệu kế toán nào Kiểm tra thiết lập kết nối tại ứng dụng Amis kế toán
InvalidAccessToken Lỗi do mã truy cập không hợp lệ Thực hiện gọi lại API lấy access_token mới
AppIDDisconnect Đã ngắt kết nối ứng dụng app_id đã bị ngắt kết nối, muốn kết nối lại, liên hệ kênh hỗ trợ của MISA

 

5.2.4. Giảm giá hàng mua

5.2.4.1. Mô tả về API
Thông tin Diễn giải
URL /apir/sync/actopen/save
Method Post
Body request {

    “app_id“: “{app_id}”, //kiểu dữ liệu lấy về

    “org_company_code”: “{org_company_code}”

    “voucher“: [Danh sách pu_discount sử dụng]

}

Response {

    “Success“: true,

    “ErrorMessage“: “”,

    “Data“: “Hệ thống đã ghi nhận yêu cầu đồng bộ vào hàng đợi, dữ liệu sẽ được đồng bộ sang hệ thống AMIS Kế toán sớm nhất có thể. Sau khi xử lý xong yêu cầu đồng bộ, hệ thống sẽ trả kết quả đồng bộ vào đường dẫn callback mà đối tác đã cung cấp cho AMIS kế toán.”

}

Phản hồi ghi nhận kết quả trả về Data khi Response thành công

 

5.2.4.2. Mô tả đối tượng – pu_discount
Tên trường Kiểu dữ liệu Bắt buộc Diễn giải
voucher_type Int x 14
org_refid String x ID của chứng từ dữ liệu gốc
org_reftype Int? x Loại chứng từ gốc

3040: Hàng mua giảm giá – Giảm trừ công nợ

3041: Hàng mua giảm giá – Tiền mặt

3042: Hàng mua giảm giá – Giảm trừ công nợ – qua kho

3043: Hàng mua giảm giá – Tiền mặt – qua kho

org_refno String x Số chứng từ trên dữ liệu gốc
org_reftype_name String Tên loại chứng từ trên dữ liệu gốc
reftype Int? x Loại chứng từ

3040: Hàng mua giảm giá – Giảm trừ công nợ

3041: Hàng mua giảm giá – Tiền mặt

3042: Hàng mua giảm giá – Giảm trừ công nợ – qua kho

3043: Hàng mua giảm giá – Tiền mặt – qua kho

reftype_name String Tên loại chứng từ
refno_finance String Số chứng từ Sổ tài chính
posted_date DateTime? x Ngày hạch toán
refdate DateTime? x Ngày chứng từ
branch_id Guid x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
in_reforder DateTime? Ngày hạch toán
account_object_id Guid? ID đối tượng (lấy ở API get_dictionary với data_type = 1)

– có thể chỉ sử dụng account_object_code cũng có thể mapping được với danh mục

account_object_code String Mã đối tượng
account_object_tax_code String Mã số thuế
account_object_name String Tên đối tượng
exchange_rate Decimal Tỷ giá Mặc định là 1
employee_id Guid? Id Nhân viên (lấy ở API get_dictionary với data_type = 1 (is_employee = true))

– có thể chỉ sử dụng employee_code cũng có thể mapping được với danh mục

employee_name String Mã nhân viên
is_value_decrement_from_stock Bool? Giảm giá trị hàng nhập kho
payer String Người nộp
payer_address String Địa chỉ người nộp
journal_memo String Diễn giải
currency_id String x Loại tiền tệ. Mặc định là VND
is_posted_finance Bool? Trạng thái
total_sale_amount_oc Decimal x Tổng tiền hàng nguyên tệ
total_sale_amount Decimal x Tổng tiền hàng quy đổi
total_amount_oc Decimal x Tổng tiền thanh toán nguyên tệ
total_amount Decimal x Tổng tiền thanh toán quy đổi
total_discount_amount_oc Decimal x Chiết khấu nguyên tệ
total_discount_amount Decimal x Chiết khấu quy đổi
total_vat_amount_oc Decimal x Thuế GTGT nguyên tệ
total_vat_amount Decimal x Thuế GTGT quy đổi
custom_field string Trường mỡ rộng (hỗ trợ từ custom_field1->custom_field10
detail List<detail> Dòng hàng chi tiết
Thông tin chi tiết (details)
account_name String Tên tài khoản
amount Decimal x Thành tiền quy đổi
amount_oc Decimal x Thành tiền
bank_account_id Guid? ID tài khoản ngân hàng
bank_account_number String Số tài khoản ngân hàng
bank_name String Tên chi nhánh ngân hàng
credit_account String x TK Có
debit_account String x TK Nợ
description String x Tên hàng
discount_amount Decimal Tiền chiết khấu quy đổi
discount_amount_oc Decimal Tiền chiết khấu
discount_rate Decimal Tỷ lệ chiết khấu
exchange_rate_operator String x Toán tử quy đổi *=nhân; / =chia (mặc định k truyền là nhân)
is_description Bool? Là dòng diễn giải
inventory_item_code String x ID vật tư/hàng hóa
inventory_item_id Guid? x ID hàng hóa/ Vật tư (nếu Thông tin is_description = false thì không được bỏ trống Thông tin này)

– có thể chỉ cần dùng inventory_item_code cũng có thể mapping với danh mục

(lấy ở API get_dictionary với data_type = 2)

inventory_item_name String x Tên hàng trên danh mục
inventory_resale_type_id Int? x Hàng hóa ký gửi, bán hộ 1: Hàng hóa giữ hộ, gia công 2: Hàng hóa bán hộ, ký gửii
main_convert_rate Decimal x Tỷ lệ chuyển đổi ra đơn vị chính
main_quantity Decimal x Số lượng theo đơn vị chính
main_unit_id Guid? x ID đơn vị tính (lấy ở API get_dictionary với data_type = 4)

– Có thể chỉ cần dùng unit_name cũng có thể mapping với danh mục

main_unit_name String x Tên đơn vị tính chính
main_unit_price Decimal x Đơn giá theo đơn vị chính (Sổ tài chính)
purchase_purpose_id String x Mã nhóm hàng hóa dịch vụ

Cần truyền purchase_purpose_id tương ứng của mỗi loại để tự động mapping trên hệ thống Amis Kế toán

{

“purchase_purpose_code”: “1”,

“purchase_purpose_id”: “ed4bd91d-83ac-4a26-b4c1-4bce85faecb8”,

“purchase_purpose_name”: “Hàng hoá, dịch vụ dùng riêng cho SXKD chịu thuế GTGT và sử dụng cho các hoạt động cung cấp hàng hoá, dịch vụ không kê khai, nộp thuế GTGT đủ điều kiện khấu thuế”

},

{

“purchase_purpose_code”: “2”,

“purchase_purpose_id”: “d1609311-93aa-41c3-9d24-020bb6d47af5”,

“purchase_purpose_name”: “Hàng hóa, dịch vụ dùng chung cho SXKD chịu thuế và không chịu thuế đủ điều kiện khấu trừ thuế”

},

{

“purchase_purpose_code”: “3”,

“purchase_purpose_id”: “dcf4c47b-dd5b-4e2b-a524-4dbf6f815339”,

“purchase_purpose_name”: “Hàng hóa, dịch vụ dùng cho dự án đầu tư đủ điều kiện khấu trừ thuế”

},

{

“purchase_purpose_code”: “4”,

“purchase_purpose_id”: “1145d797-1304-446a-8fe9-d8b94f4568e2”,

“purchase_purpose_name”: “Hàng hóa, dịch vụ không đủ điều kiện khấu trừ”

},

{

“purchase_purpose_code”: “5”,

“purchase_purpose_id”: “c1c27910-be49-470e-a9de-f32321b9d12e”,

“purchase_purpose_name”: “Hàng hóa, dịch vụ không phải tổng hợp trên tờ khai 01\/ GTGT”

}

quantity Decimal x Số lượng
sort_order Int? x Thứ tự sắp xếp các dòng chi tiết
stock_code String x ID kho
stock_id Guid? x ID kho (lấy ở API get_dictionary với data_type = 3)

– có thể chỉ cần dùng stock_code cũng có thể mapping với danh mục

unit_id Guid? x ID đơn vị tính (lấy ở API get_dictionary với data_type = 4)

– Có thể chỉ cần dùng unit_name cũng có thể mapping với danh mục

unit_name String x Tên đơn vị tính
unit_price Decimal x Đơn giá
vat_account String Tài khoản thuế
vat_amount Decimal Tiền thuế quy đổi
vat_amount_oc Decimal Tiền thuế
vat_description String Diễn giải thuế
vat_rate Decimal Thuế suất:

0%: 0

5%: 5

8%: 8

10%: 10

KCT: -1

KKKNT: -2

KHAC: -3

other_vat_rate Decimal Thuế suất khác (bắt buộc phải truyền khi vat_rate = -3)
lot_no String Số lô
expiry_date DateTime? Hạn dùng
String ID công trình

– có thể chỉ cần dùng project_work_code để mapping với danh mục

String Mã công trình
String Tên công trình
branch_id Guid? x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
account_object_id Guid? x ID đối tượng (lấy ở API get_dictionary với data_type = 1)

– có thể chỉ sử dụng account_object_code cũng có thể mapping được với danh mục

employee_id Guid? Id Nhân viên (lấy ở API get_dictionary với data_type = 1 (is_employee = true))

có thể chỉ sử dụng employee_code cũng có thể mapping được với danh mục

reftype Int? x Loại chứng từ

3402: Hóa đơn giảm giá hàng mua

refdate Datetime? x Ngày chứng từ (Chi tiền mặt/ Chứng từ ghi nợ)
posted_date Datetime? x Ngày hạch toán (Chi tiền mặt/ Chứng từ ghi nợ)
inv_date Datetime? x Ngày hóa đơn
account_object_name String x Tên nhà cung cấp/ khách hàng/ cán bộ
account_object_address String Địa chỉ người nhận
include_invoice Int? Có đính kèm hóa đơn không?

0: Không kèm hóa đơn;

1: Nhận kèm hóa đơn;

2: Không có hóa đơn

inv_template_no String Mẫu số hóa đơn
inv_series String Ký hiệu hóa đơn
inv_no String Số hóa đơn
account_object_code String Mã nhà cung cấp
refno_finance String x Số chứng từ
exchange_rate Decimal x Tỷ giá (mặc định là 1)
5.2.4.3. Mã lỗi thường gặp
Mã lỗi Mô tả Phương án xử lý
Exception Lỗi chưa xác định được nguyên nhân Liên hệ kênh hỗ trợ của MISA
InvalidAppID Lỗi sai AppID (có thể do đang không sử dụng đúng appid do AMIS kế toán cung cấp cho dự án) Dùng đúng app_id được cung cấp khi đăng ký, hoặc dúng appi_id của đơn vị đã đăng ký
InvalidToken Lỗi do token không hợp lệ Thực hiện gọi lại API lấy access_token mới
ExpiredToken Lỗi do token đã hết hạn Thực hiện gọi lại API lấy access_token mới
InvalidParam Tham số không hợp lệ Kiểm tra lại tham số đầu vào, xem thêm mô tả ở ErrorMessage
IsCreatedVoucher Đã sinh chứng từ kế toán Yêu cầu sinh chứng từ đã được Lập chứng từ, muốn thực hiện update thì xóa Chứng từ đã sinh
VoucherNotFound Không tìm thấy đề nghị sinh chứng từ kế toán Thực hiện tạo mới chứng từ hoặc kiểm tra org_refid đã đúng chưa
DBAmisNotConnectDBACT Chưa thiết lập kết nối với dữ liệu kế toán nào Kiểm tra thiết lập kết nối tại ứng dụng Amis kế toán
InvalidAccessToken Lỗi do mã truy cập không hợp lệ Thực hiện gọi lại API lấy access_token mới
AppIDDisconnect Đã ngắt kết nối ứng dụng app_id đã bị ngắt kết nối, muốn kết nối lại, liên hệ kênh hỗ trợ của MISA

 

5.2.5. Trả lại hàng mua

5.2.5.1. Mô tả về API
Thông tin Diễn giải
URL /apir/sync/actopen/save
Method Post
Body request {

    “app_id“: “{app_id}”, //kiểu dữ liệu lấy về

    “org_company_code”: “{org_company_code}”

    “voucher“: [Danh sách pu_return sử dụng]

}

Response {

    “Success“: true,

    “ErrorMessage“: “”,

    “Data“: “Hệ thống đã ghi nhận yêu cầu đồng bộ vào hàng đợi, dữ liệu sẽ được đồng bộ sang hệ thống AMIS Kế toán sớm nhất có thể. Sau khi xử lý xong yêu cầu đồng bộ, hệ thống sẽ trả kết quả đồng bộ vào đường dẫn callback mà đối tác đã cung cấp cho AMIS kế toán.”

}

Phản hồi ghi nhận kết quả trả về Data khi Response thành công

 

5.2.5.2. Mô tả đối tượng – pu_return
Tên trường Kiểu dữ liệu Bắt buộc Diễn giải
voucher_type Int? x 16
org_refid String x ID của chứng từ dữ liệu gốc
org_reftype Int? x Loại chứng từ gốc
org_refno String x Số chứng từ gốc
org_reftype_name String Tên loại chứng từ trên dữ liệu gốc
account_object_code String x Mã đối tượng
account_object_id Guid? ID đối tượng (lấy ở API get_dictionary với data_type = 1)

– có thể chỉ sử dụng account_object_code cũng có thể mapping được với danh mục

account_object_name String Tên đối tượng
branch_id Guid? x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
ca_refno_finance String Số chứng từ sổ tài chính (Chi tiền mặt)
created_by String Người tạo
created_date DateTime? Ngày tạo
currency_id String Loại tiền
employee_code String Mã nhân viên mua hàng
employee_id Guid? Id Nhân viên (lấy ở API get_dictionary với data_type = 1 (is_employee = true))

– có thể chỉ sử dụng employee_code cũng có thể mapping được với danh mục

employee_name String Tên nhân viên mua hàng
exchange_rate Int? Tỉ giá hối đoái
in_reforder DateTime? Ngày xuất kho
is_invoice_exported Bool? Đã xuất hóa đơn
is_posted_finance Bool? Trạng thái ghi sổ Sổ tài chính
journal_memo String Lý do xuất (Phiếu xuất)/ Diễn giải (Chứng từ ghi nợ)
modified_by String Người chỉnh sửa
modified_date DateTime? Ngày chỉnh sửa
payer String Người nộp
payer_address String Địa chỉ người nộp, địa chỉ bên tab Thu tiền mặt
posted_date DateTime? x Ngày hạch toán (Phiếu xuất/ Chứng từ ghi nợ)
receiver String Người nhận hàng (Phiếu xuất)
receiver_address String Địa chỉ người nhận hàng, nhà cung cấp
refdate DateTime? x Ngày chứng từ (Phiếu xuất/ Chứng từ ghi nợ)
refno_finance String Số chứng từ sổ tài chính (Phiếu xuất/ Chứng từ ghi nợ)
reftype Int? Loại chứng từ

3030: Hàng mua trả lại – Giảm trừ công nợ

3031: Hàng mua trả lại – Tiền mặt

3032: Hàng mua trả lại – Giảm trừ công nợ – Không qua kho

3033: Hàng mua trả lại – Tiền mặt – Không qua kho

reftype_name String Tên loại chứng từ
ca_document_included String Kèm theo chứng từ gốc Thu tiền mặt
out_document_included String Kèm theo chứng từ gốc phiếu xuất
total_sale_amount_oc Decimal x Tổng tiền hàng nguyên tệ
total_sale_amount Decimal x Tổng tiền hàng quy đổi
total_amount_oc Decimal x Tổng tiền thanh toán nguyên tệ
total_amount Decimal x Tổng tiền thanh toán quy đổi
total_discount_amount_oc Decimal x Chiết khấu nguyên tệ
total_discount_amount Decimal x Chiết khấu quy đổi
total_vat_amount_oc Decimal x Thuế GTGT nguyên tệ
total_vat_amount Decimal x Thuế GTGT quy đổi
custom_field string Trường mỡ rộng (hỗ trợ từ custom_field1->custom_field10
detail List<detail> Danh sách hàng hóa
sa_invoice sa_invoice Thông tin hóa đơn
Thông tin chi tiết (detail)
account_name String Tên tài khoản
amount Decimal x Thành tiền quy đổi
amount_oc Decimal x Thành tiền
bank_account_id Guid? ID tài khoản ngân hàng
bank_account_number String Số tài khoản ngân hàng
bank_name String Tên chi nhánh ngân hàng
credit_account String x TK Có
debit_account String x TK Nợ
description String x Tên hàng
discount_amount Decimal Tiền chiết khấu quy đổi
discount_amount_oc Decimal Tiền chiết khấu
discount_rate Decimal Tỷ lệ chiết khấu
exchange_rate_operator String x Toán tử quy đổi *=nhân; / =chia (mặc định k truyền là nhân)
is_description Bool? Là dòng diễn giải
inventory_item_code String x ID vật tư/hàng hóa
inventory_item_id Guid? x ID hàng hóa/ Vật tư (nếu Thông tin is_description = false thì không được bỏ trống Thông tin này)

– có thể chỉ cần dùng inventory_item_code cũng có thể mapping với danh mục

(lấy ở API get_dictionary với data_type = 2)

inventory_item_name String x Tên hàng trên danh mục
inventory_resale_type_id Int? x Hàng hóa ký gửi, bán hộ 1: Hàng hóa giữ hộ, gia công 2: Hàng hóa bán hộ, ký gửii
main_convert_rate Decimal x Tỷ lệ chuyển đổi ra đơn vị chính
main_quantity Decimal x Số lượng theo đơn vị chính
main_unit_id Guid? x ID đơn vị tính (lấy ở API get_dictionary với data_type = 4)

– Có thể chỉ cần dùng unit_name cũng có thể mapping với danh mục

main_unit_name String x Tên đơn vị tính chính
main_unit_price Decimal x Đơn giá theo đơn vị chính (Sổ tài chính)
purchase_purpose_id String x Mã nhóm hàng hóa dịch vụ

Cần truyền purchase_purpose_id tương ứng của mỗi loại để tự động mapping trên hệ thống Amis Kế toán

{

“purchase_purpose_code”: “1”,

“purchase_purpose_id”: “ed4bd91d-83ac-4a26-b4c1-4bce85faecb8”,

“purchase_purpose_name”: “Hàng hoá, dịch vụ dùng riêng cho SXKD chịu thuế GTGT và sử dụng cho các hoạt động cung cấp hàng hoá, dịch vụ không kê khai, nộp thuế GTGT đủ điều kiện khấu thuế”

},

{

“purchase_purpose_code”: “2”,

“purchase_purpose_id”: “d1609311-93aa-41c3-9d24-020bb6d47af5”,

“purchase_purpose_name”: “Hàng hóa, dịch vụ dùng chung cho SXKD chịu thuế và không chịu thuế đủ điều kiện khấu trừ thuế”

},

{

“purchase_purpose_code”: “3”,

“purchase_purpose_id”: “dcf4c47b-dd5b-4e2b-a524-4dbf6f815339”,

“purchase_purpose_name”: “Hàng hóa, dịch vụ dùng cho dự án đầu tư đủ điều kiện khấu trừ thuế”

},

{

“purchase_purpose_code”: “4”,

“purchase_purpose_id”: “1145d797-1304-446a-8fe9-d8b94f4568e2”,

“purchase_purpose_name”: “Hàng hóa, dịch vụ không đủ điều kiện khấu trừ”

},

{

“purchase_purpose_code”: “5”,

“purchase_purpose_id”: “c1c27910-be49-470e-a9de-f32321b9d12e”,

“purchase_purpose_name”: “Hàng hóa, dịch vụ không phải tổng hợp trên tờ khai 01\/ GTGT”

}

quantity Decimal x Số lượng
sort_order Int? x Thứ tự sắp xếp các dòng chi tiết
stock_code String x ID kho
stock_id Guid? x ID kho (lấy ở API get_dictionary với data_type = 3)

– có thể chỉ cần dùng stock_code cũng có thể mapping với danh mục

unit_id Guid? x ID đơn vị tính (lấy ở API get_dictionary với data_type = 4)

– Có thể chỉ cần dùng unit_name cũng có thể mapping với danh mục

unit_name String x Tên đơn vị tính
unit_price Decimal x Đơn giá
vat_account String Tài khoản thuế
vat_amount Decimal Tiền thuế quy đổi
vat_amount_oc Decimal Tiền thuế
vat_description String Diễn giải thuế
vat_rate Decimal Thuế suất:

0%: 0

5%: 5

8%: 8

10%: 10

KCT: -1

KKKNT: -2

KHAC: -3

other_vat_rate Decimal Thuế suất khác (bắt buộc phải truyền khi vat_rate = -3)
lot_no String Số lô
expiry_date DateTime? Hạn dùng
String ID công trình

– có thể chỉ cần dùng project_work_code để mapping với danh mục

String Mã công trình
String Tên công trình
Thông tin hóa đơn (sa_invoice)
account_object_address String Địa chỉ
account_object_bank_account String Tài khoản của khách hàng
account_object_bank_name String Tên ngân hàng
account_object_code String Mã khách hàng
account_object_id Guid ID đối tượng (lấy ở API get_dictionary với data_type = 1)

– có thể chỉ sử dụng account_object_code cũng có thể mapping được với danh mục

account_object_name String Tên khách hàng
account_object_tax_code String Mã số thuế khách hàng
branch_id Guid x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
buyer String Người mua hàng
currency_id String Loại tiền
discount_rate_voucher Decimal Tỷ lệ chiết khấu theo mặt hàng
discount_type Int Loại chiết khấu:

0: Không chiết khấu

1: Theo mặt hàng

2: Theo % hóa đơn

3: Số tiền trên tổng số hóa đơn

employee_code String Mã nhân viên bán hàng
employee_id Guid Id Nhân viên (lấy ở API get_dictionary với data_type = 1 (is_employee = true))

– có thể chỉ sử dụng employee_code cũng có thể mapping được với danh mục

employee_name String Tên nhân viên
exchange_rate Decimal Tỷ giá hối đoái
inv_date Datetime x Ngày hóa đơn
inv_no String x Số hóa đơn (bắt buộc nếu đơn vị xuất hoá đơn trước)
inv_series String x Ký hiệu hóa đơn (bắt buộc nếu đơn vị xuất hoá đơn trước)
inv_template_no String x Mẫu số hd (bắt buộc nếu đơn vị xuất hoá đơn trước)
inv_type_id Int x Loại hóa đơn:

Chia ra làm 2 loại:

+ Có sử dụng hóa đơn điện tử: null

+ Không sử dụng hóa đơn điện tử:0:

Chi tiết như sau:

null: có sử dụng hóa đơn điện tử

0: không sử dụng hóa đơn điện tử

1: Hóa đơn giá trị gia tăng;

2: Hóa đơn bán hàng;

3: Phiếu xuất kho kiêm vận chuyển hàng hóa nội bộ;

4: Phiếu xuất kho gửi bán hàng đại lý;

5: Hóa đơn xuất khấu;

6: Hóa đơn bán hàng (dành cho tổ chức, cá nhân trong khu phi thuế quan),

is_paid Bool Đã thanh toán dủ
is_posted Bool Đã hạch toán
is_posted_last_year Bool Đã hạch toán năm trước
payment_method String Hình thức thanh toán
reftype Int x Loại chứng từ

3564: Hóa đơn trả lại hàng mua

reftype_name String Tên loại chứng từ
5.2.5.3. Mã lỗi thường gặp
Mã lỗi Mô tả Phương án xử lý
Exception Lỗi chưa xác định được nguyên nhân Liên hệ kênh hỗ trợ của MISA
InvalidAppID Lỗi sai AppID (có thể do đang không sử dụng đúng appid do AMIS kế toán cung cấp cho dự án) Dùng đúng app_id được cung cấp khi đăng ký, hoặc dúng appi_id của đơn vị đã đăng ký
InvalidToken Lỗi do token không hợp lệ Thực hiện gọi lại API lấy access_token mới
ExpiredToken Lỗi do token đã hết hạn Thực hiện gọi lại API lấy access_token mới
InvalidParam Tham số không hợp lệ Kiểm tra lại tham số đầu vào, xem thêm mô tả ở ErrorMessage
IsCreatedVoucher Đã sinh chứng từ kế toán Yêu cầu sinh chứng từ đã được Lập chứng từ, muốn thực hiện update thì xóa Chứng từ đã sinh
VoucherNotFound Không tìm thấy đề nghị sinh chứng từ kế toán Thực hiện tạo mới chứng từ hoặc kiểm tra org_refid đã đúng chưa
DBAmisNotConnectDBACT Chưa thiết lập kết nối với dữ liệu kế toán nào Kiểm tra thiết lập kết nối tại ứng dụng Amis kế toán
InvalidAccessToken Lỗi do mã truy cập không hợp lệ Thực hiện gọi lại API lấy access_token mới
AppIDDisconnect Đã ngắt kết nối ứng dụng app_id đã bị ngắt kết nối, muốn kết nối lại, liên hệ kênh hỗ trợ của MISA

 

5.3. Chứng từ khác

5.3.1. Mô tả về API

Thông tin Diễn giải
URL /apir/sync/actopen/save
Method Post
Body request {

    “app_id“: “{app_id}”, //kiểu dữ liệu lấy về

    “org_company_code”: “{org_company_code}”

    “voucher“: [Danh sách gl_voucher sử dụng]

}

Response {

    “Success“: true,

    “ErrorMessage“: “”,

    “Data“: “Hệ thống đã ghi nhận yêu cầu đồng bộ vào hàng đợi, dữ liệu sẽ được đồng bộ sang hệ thống AMIS Kế toán sớm nhất có thể. Sau khi xử lý xong yêu cầu đồng bộ, hệ thống sẽ trả kết quả đồng bộ vào đường dẫn callback mà đối tác đã cung cấp cho AMIS kế toán.”

}

Phản hồi ghi nhận kết quả trả về Data khi Response thành công

 

5.3.2. Mô tả đối tượng – gl_voucher

Tên trường Kiểu dữ liệu Bắt buộc Diễn giải
voucher_type Int x 6
detail Object x Chi tiết chứng từ
account_object_code String x Mã đối tượng
account_object_id Guid? ID đối tượng (lấy ở API get_dictionary với data_type = 1)

– có thể chỉ sử dụng account_object_code cũng có thể mapping được với danh mục

account_object_name String Tên đối tượng
branch_id Guid? x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
created_by String Người tạo
created_date DateTime? Ngày tạo
credit_account String TK Có/ Tài khoản xử lý lãi khi đánh giá ngoại tệ cuối năm
cross_entry_date DateTime? Ngày đối trừ
custom_field1 String Trường mở rộng 1
custom_field2 String Trường mở rộng 2
custom_field3 String Trường mở rộng 3
custom_field4 String Trường mở rộng 4
custom_field5 String Trường mở rộng 5
custom_field6 String Trường mở rộng 6
custom_field7 String Trường mở rộng 7
custom_field8 String Trường mở rộng 8
custom_field9 String Trường mở rộng 9
custom_field10 String Trường mở rộng 10
currency_id String Loại tiền
debit_account String TK Nợ/ Tài khoản xử lý lỗ khi đánh giá ngoại tệ cuối năm
deduction_amount Decimal Số thuế GTGT đầu vào được khấu trừ
deduction_amount_last_period Decimal Thuế GTGT đầu vào được khấu trừ từ kỳ trước chuyển sang
deduction_amount_this_period Decimal Thuế GTGT đầu vào được khấu trừ của kỳ này
dept_status Int? Tình trạng đòi nợ:

0: nợ bình thường;

1: Nợ khó đòi;

2: Nợ không thể đòi

due_date DateTime? Hạn thanh toán
employee_id Guid? Id Nhân viên (lấy ở API get_dictionary với data_type = 1 (is_employee = true))

– có thể chỉ sử dụng employee_code cũng có thể mapping được với danh mục

employee_name String Tên nhân viên
exchange_rate Decimal Tỉ giá hối đoái
journal_memo String Diễn giải/ Lý do
modified_by String Người sửa
modified_date DateTime? Ngày sửa
month Int? Tháng tính Tỷ giá xuất quỹ
output_amount Decimal Số thuế GTGT đầu ra dùng để hiển thị trên chứng từ khấu trừ thuế
posted_date DateTime? x Ngày hạch toán
refdate DateTime? x Ngày chứng từ
refno_finance String Số chứng từ Sổ tài chính
reforder long Số thứ tự chứng từ nhập vào database
reftype Int? x Loại chứng từ

4010: Chứng từ nghiệp vụ khác

reftype_name String Tên loại chứng từ
total_amount Decimal Tổng số tiền quy đổi
total_amount_oc Decimal Tổng số tiền
gl_voucher_type Int? x 0: Khác

1: Hạch toán thuế TNDN phải nộp

2: Vay ngân hàng chuyển trả cho nhà cung cấp

year Int? Năm tính Tỷ giá xuất quỹ
org_refid Guid x Chứng từ trên dữ liệu gốc (trường bắt buộc)
org_refno String x Số chứng từ trên dữ liệu gốc
org_reftype Int x Ký hiệu loại chứng từ trên dữ liệu gốc
org_reftype_name String x Tên loại chứng từ trên dữ liệu gốc
total_sale_amount_oc Decimal x Tổng tiền hàng nguyên tệ
total_sale_amount Decimal x Tổng tiền hàng quy đổi
total_amount_oc Decimal x Tổng tiền thanh toán nguyên tệ
total_amount Decimal x Tổng tiền thanh toán quy đổi
total_discount_amount_oc Decimal x Chiết khấu nguyên tệ
total_discount_amount Decimal x Chiết khấu quy đổi
total_vat_amount_oc Decimal x Thuế GTGT nguyên tệ
total_vat_amount Decimal x Thuế GTGT quy đổi
custom_field string Trường mỡ rộng (hỗ trợ từ custom_field1->custom_field10
detail List<detail> Danh sách hàng hóa
Thông tin chi tiết (detail)
account_name String Tên tài khoản
account_object_code String Mã đối tượng
account_object_id Guid? Đối tượng Nợ (lấy ở API get_dictionary với data_type = 1)

– có thể chỉ sử dụng account_object_code cũng có thể mapping được với danh mục

account_object_name String Tên đối tượng Nợ
amount Decimal Số tiền quy đổi/ Số chênh lệch trên Tỷ giá xuất quỹ
amount_oc Decimal Số tiền
bank_account_id Guid? ID tài khoản ngân hàng
bank_account_number String Số tài khoản ngân hàng
bank_name String Tên chi nhánh của tài khoản ngân hàng
cash_out_amount Decimal Số tiền Quy đổi theo Tỷ giá xuất quỹ
cash_out_amount_oc Decimal Số tiền đã xuất quỹ
cash_out_amount_org Decimal Số tiền Quy đổi đã xuất quỹ (theo chứng từ gốc)
cash_out_currency_id String Loại tiền Tỷ giá xuất quỹ
cash_out_exchange_rate String Tỷ giá xuất quỹ bình quân
credit_account String x TK Có
credit_account_object_code String Mã đối tượng Có
credit_account_object_id Guid? ID đối tượng Có (lấy ở API get_dictionary với data_type = 1)

– có thể chỉ sử dụng account_object_code cũng có thể mapping được với danh mục

credit_account_object_name String Tên đối tượng Có
custom_field string Trường mỡ rộng (hỗ trợ từ custom_field1->custom_field10
debit_account String x TK Nợ
debit_bank_name String Tên ngân hàng của đối tượng Nợ
debit_bank_account String Số TK ngân hàng của đối tượng Nợ
description String Diễn giải
employee_code String Mã nhân viên
employee_id Guid? Id Nhân viên (lấy ở API get_dictionary với data_type = 1 (is_employee = true))

– có thể chỉ sử dụng employee_code cũng có thể mapping được với danh mục

employee_name String Tên nhân viên
inv_date DateTime? Ngày hoá đơn
inv_no String Số hoá đơn
inv_series String Ký hiệu hoá đơn
inv_template_no String Mẫu số hoá đơn
is_have_invoice Bool? Có hóa đơn
is_list_on_tax_declaration Bool? Kê lên tờ khai
not_include_invoice Bool? Không có hóa đơn
purchase_purpose_code String Mã nhóm hàng hoá dịch vụ
purchase_purpose_id String x Mã nhóm hàng hóa dịch vụ

Cần truyền purchase_purpose_id tương ứng của mỗi loại để tự động mapping trên hệ thống Amis Kế toán

{

“purchase_purpose_code”: “1”,

“purchase_purpose_id”: “ed4bd91d-83ac-4a26-b4c1-4bce85faecb8”,

“purchase_purpose_name”: “Hàng hoá, dịch vụ dùng riêng cho SXKD chịu thuế GTGT và sử dụng cho các hoạt động cung cấp hàng hoá, dịch vụ không kê khai, nộp thuế GTGT đủ điều kiện khấu thuế”

},

{

“purchase_purpose_code”: “2”,

“purchase_purpose_id”: “d1609311-93aa-41c3-9d24-020bb6d47af5”,

“purchase_purpose_name”: “Hàng hóa, dịch vụ dùng chung cho SXKD chịu thuế và không chịu thuế đủ điều kiện khấu trừ thuế”

},

{

“purchase_purpose_code”: “3”,

“purchase_purpose_id”: “dcf4c47b-dd5b-4e2b-a524-4dbf6f815339”,

“purchase_purpose_name”: “Hàng hóa, dịch vụ dùng cho dự án đầu tư đủ điều kiện khấu trừ thuế”

},

{

“purchase_purpose_code”: “4”,

“purchase_purpose_id”: “1145d797-1304-446a-8fe9-d8b94f4568e2”,

“purchase_purpose_name”: “Hàng hóa, dịch vụ không đủ điều kiện khấu trừ”

},

{

“purchase_purpose_code”: “5”,

“purchase_purpose_id”: “c1c27910-be49-470e-a9de-f32321b9d12e”,

“purchase_purpose_name”: “Hàng hóa, dịch vụ không phải tổng hợp trên tờ khai 01\/ GTGT”

}

sort_order Int? x Thứ tự sắp xếp các dòng chi tiết
ta_career_group_id Guid? Nhóm ngành nghề: dùng cho TT trên doanh thu
tax_type Int? Loại thuế:

1: Tăng thuế đầu ra,

2: Giảm thuế đầu ra,

3: Tăng thuế đầu vào,

4: Giảm thuế đầu vào

un_resonable_cost Bool? Chi phí không hợp lý
vat_account String TK thuế GTGT
vat_amount Decimal Tiền thuế GTGT quy đổi
vat_amount_oc Decimal Tiền thuế GTGT
vat_description String Diễn giải thuế
vat_rate Decimal Thuế suất:

0%: 0

5%: 5

8%: 8

10%: 10

KCT: -1

KKKNT: -2

KHAC: -3

other_vat_rate Decimal Thuế suất khác (bắt buộc phải truyền khi vat_rate = -3)

5.3.3. Mã lỗi thường gặp

Mã lỗi Mô tả Phương án xử lý
Exception Lỗi chưa xác định được nguyên nhân Liên hệ kênh hỗ trợ của MISA
InvalidAppID Lỗi sai AppID (có thể do đang không sử dụng đúng appid do AMIS kế toán cung cấp cho dự án) Dùng đúng app_id được cung cấp khi đăng ký, hoặc dúng appi_id của đơn vị đã đăng ký
InvalidToken Lỗi do token không hợp lệ Thực hiện gọi lại API lấy access_token mới
ExpiredToken Lỗi do token đã hết hạn Thực hiện gọi lại API lấy access_token mới
InvalidParam Tham số không hợp lệ Kiểm tra lại tham số đầu vào, xem thêm mô tả ở ErrorMessage
IsCreatedVoucher Đã sinh chứng từ kế toán Yêu cầu sinh chứng từ đã được Lập chứng từ, muốn thực hiện update thì xóa Chứng từ đã sinh
VoucherNotFound Không tìm thấy đề nghị sinh chứng từ kế toán Thực hiện tạo mới chứng từ hoặc kiểm tra org_refid đã đúng chưa
DBAmisNotConnectDBACT Chưa thiết lập kết nối với dữ liệu kế toán nào Kiểm tra thiết lập kết nối tại ứng dụng Amis kế toán
InvalidAccessToken Lỗi do mã truy cập không hợp lệ Thực hiện gọi lại API lấy access_token mới
AppIDDisconnect Đã ngắt kết nối ứng dụng app_id đã bị ngắt kết nối, muốn kết nối lại, liên hệ kênh hỗ trợ của MISA

 

5.4. Phiếu thu

5.4.1. Thu tiền mặt

5.4.1.1. Mô tả về API
Thông tin Diễn giải
URL /apir/sync/actopen/save
Method Post
Body request {

    “app_id“: “{app_id}”, //kiểu dữ liệu lấy về

    “org_company_code”: “{org_company_code}”

    “voucher“: [Danh sách ca_receipt sử dụng]

}

Response {

    “Success“: true,

    “ErrorMessage“: “”,

    “Data“: “Hệ thống đã ghi nhận yêu cầu đồng bộ vào hàng đợi, dữ liệu sẽ được đồng bộ sang hệ thống AMIS Kế toán sớm nhất có thể. Sau khi xử lý xong yêu cầu đồng bộ, hệ thống sẽ trả kết quả đồng bộ vào đường dẫn callback mà đối tác đã cung cấp cho AMIS kế toán.”

}

Phản hồi ghi nhận kết quả trả về Data khi Response thành công

 

5.4.1.2. Mô tả đối tượng – ca_receipt
Tên trường Kiểu dữ liệu Bắt buộc Diễn giải
voucher_type Int x 5
org_refid Guid x Chứng từ trên dữ liệu gốc (trường bắt buộc)
org_refno String x Số chứng từ trên dữ liệu gốc
org_reftype Int Ký hiệu loại chứng từ trên dữ liệu gốc
org_reftype_name String Tên loại chứng từ trên dữ liệu gốc
account_object_id Guid ID đối tượng (lấy ở API get_dictionary với data_type = 1)

– có thể chỉ sử dụng account_object_code cũng có thể mapping được với danh mục

account_object_code String Mã đối tượng
account_object_name String Tên người nộp tiền/ kho bạc
account_object_address String Điạ chỉ người nộp tiền
account_object_contact_name String Tên người nộp tiền
employee_id Guid Id Nhân viên (lấy ở API get_dictionary với data_type = 1 (is_employee = true))

– có thể chỉ sử dụng employee_code cũng có thể mapping được với danh mục

employee_code String Mã nhân viên
employee_name String Tên nhân viên
branch_id Guid x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
reason_type_id Int Lý do thu:

Thu tiền khách hàng: 14

Rút tiền gửi nhập quỹ: 10

Thu hoàn ứng nhân viên: 12

Khác: 13

refno_finance String Số chứng từ (trường hợp đơn vị muốn tự quản lý số chứng từ)
reforder long Số thứ tự chứng từ nhập vào database
refdate DateTime x Ngày chứng từ
reftype Int x Loại chứng từ của AMIS kế toán

1010: Thu tiền mặt

reftype_name String Tên loại chứng từ
posted_date DateTime x Tên loại chứng từ
exchange_rate Decimal Tỷ giá (Default = 0)
total_amount_oc Decimal Tổng tiền nguyên tệ (Default = 0)
total_amount Decimal Tổng tiền quy đổi (Default = 0)
journal_memo String Diễn giải lý do thu
currency_id String Loại tiền
document_included Int Số chứng từ kèm theo
custom_field string Trường mỡ rộng (hỗ trợ từ custom_field1->custom_field10
detail List<detail> Danh sách hàng hóa
Thông tin chi tiết (detail)
account_name String Tên TK ngân hàng
account_object_id Guid ID đối tượng (trường hợp tài khoản bắt buộc phải quản lý theo đối tượng thì không được bỏ trống trường này)

(lấy ở API get_dictionary với data_type = 1)

– có thể chỉ sử dụng account_object_code cũng có thể mapping được với danh mục

account_object_code Guid Mã đối tượng
sort_order Int x Thứ tự sắp xếp
business_type Int Nghiệp vụ:

0 – Chiết khấu thương mại (bán hàng)

1 – Giảm giá hàng bán

2 – Trả lại hàng bán

bank_account_id Guid ID TK ngân hàng (trường hợp tài khoản bắt buộc phải quản lý theo ngân hàng thì không được bỏ trống trường này)
bank_account_number String Số tài khoản ngân hàng
bank_name String Tên chi nhánh ngân hàng
amount_oc Decimal x Số tiền nguyên tệ (Default = 0)
amount Decimal x Số tiền quy đổi (Default = 0)
description String Diễn giải
debit_account String x Tài khoản nợ
credit_account String x Tài khoản có
5.4.1.3. Mã lỗi thường gặp
Mã lỗi Mô tả Phương án xử lý
Exception Lỗi chưa xác định được nguyên nhân Liên hệ kênh hỗ trợ của MISA
InvalidAppID Lỗi sai AppID (có thể do đang không sử dụng đúng appid do AMIS kế toán cung cấp cho dự án) Dùng đúng app_id được cung cấp khi đăng ký, hoặc dúng appi_id của đơn vị đã đăng ký
InvalidToken Lỗi do token không hợp lệ Thực hiện gọi lại API lấy access_token mới
ExpiredToken Lỗi do token đã hết hạn Thực hiện gọi lại API lấy access_token mới
InvalidParam Tham số không hợp lệ Kiểm tra lại tham số đầu vào, xem thêm mô tả ở ErrorMessage
IsCreatedVoucher Đã sinh chứng từ kế toán Yêu cầu sinh chứng từ đã được Lập chứng từ, muốn thực hiện update thì xóa Chứng từ đã sinh
VoucherNotFound Không tìm thấy đề nghị sinh chứng từ kế toán Thực hiện tạo mới chứng từ hoặc kiểm tra org_refid đã đúng chưa
DBAmisNotConnectDBACT Chưa thiết lập kết nối với dữ liệu kế toán nào Kiểm tra thiết lập kết nối tại ứng dụng Amis kế toán
InvalidAccessToken Lỗi do mã truy cập không hợp lệ Thực hiện gọi lại API lấy access_token mới
AppIDDisconnect Đã ngắt kết nối ứng dụng app_id đã bị ngắt kết nối, muốn kết nối lại, liên hệ kênh hỗ trợ của MISA

5.4.2. Thu tiền gửi

5.4.2.1. Mô tả về API
Thông tin Diễn giải
URL /apir/sync/actopen/save
Method Post
Body request {

    “app_id“: “{app_id}”, //kiểu dữ liệu lấy về

    “org_company_code”: “{org_company_code}”

    “voucher“: [Danh sách ba_deposit sử dụng]

}

Response {

    “Success“: true,

    “ErrorMessage“: “”,

    “Data“: “Hệ thống đã ghi nhận yêu cầu đồng bộ vào hàng đợi, dữ liệu sẽ được đồng bộ sang hệ thống AMIS Kế toán sớm nhất có thể. Sau khi xử lý xong yêu cầu đồng bộ, hệ thống sẽ trả kết quả đồng bộ vào đường dẫn callback mà đối tác đã cung cấp cho AMIS kế toán.”

}

Phản hồi ghi nhận kết quả trả về Data khi Response thành công

 

5.4.2.2. Mô tả đối tượng – ba_deposit
Tên trường Kiểu dữ liệu Bắt buộc Diễn giải
voucher_type Int x 1
org_refid Guid x Chứng từ trên dữ liệu gốc
org_refno String x Số chứng từ trên dữ liệu gốc
org_reftype Int Ký hiệu loại chứng từ trên dữ liệu gốc
org_reftype_name String Tên loại chứng từ trên dữ liệu gốc
account_object_address String địa chỉ người nộp tiền
account_object_id Guid ID người nộp tiền

(lấy ở API get_dictionary với data_type = 1)

– có thể chỉ sử dụng account_object_code cũng có thể mapping được với danh mục

account_object_name String tên người nộp tiền
account_object_bank_account String số TK ngân hàng
account_object_bank_account_name String tên TK ngân hàng
bank_account_id Guid ID tài khoản ngân hàng nhận tiền
bank_account_number String số TK ngân hàng nhận tiền
bank_name String tên TK ngân hàng
branch_id Guid x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
employee_code String Mã nhân viên
employee_id Guid Id Nhân viên (lấy ở API get_dictionary với data_type = 1 (is_employee = true))

– có thể chỉ sử dụng employee_code cũng có thể mapping được với danh mục

employee_name String tên nhân viên
journal_memo String diễn giải lý do thu
posted_date DateTime x ngày hạch toán
reason_type_id Int x Lý do thu:

Thu tiền khách hàng (không theo hóa đơn) 29,

Thu tiền vay qua ngân hàng 30,

Thu lãi đầu tư tài chính 31,

Thu hoàn ứng nhân viên 32,

Thu hoàn thuế GTGT 33,

Thu Khác 34

reason_type_name String Tên lý do thu
refno_finance String Số chứng từ (trường hợp đơn vị muốn tự quản lý số chứng từ)
refdate DateTime x Ngày chứng từ
reforder long Số thứ tự chứng từ nhập vào database
reftype Int x Loại chứng từ (lấy từ bảng RefType)

1500: Thu tiền gửi

currency_id String loại tiền
exchange_rate Decimal x Tỷ giá hối đoái
total_amount Decimal x tổng tiền quy đổi
total_amount_oc Decimal x tổng tiền nguyên tệ
custom_field string Trường mỡ rộng (hỗ trợ từ custom_field1->custom_field10
detail List<detail> Danh sách hàng hóa
Thông tin chi tiết (detail)
account_name String Tên tài khoản
account_object_code String mã đối tượng
account_object_id Guid ID đối tượng (bắt buộc đối với trường hợp tài khoản quản lý theo đối tượng)

(lấy ở API get_dictionary với data_type = 1)

– có thể chỉ sử dụng account_object_code cũng có thể mapping được với danh mục

amount Decimal x tổng tiền quy đổi (Default = 0)
amount_oc Decimal x tổng tiền nguyên tệ (Default = 0)
credit_account String x tài khoản có
debit_account String x tài khoản nợ
description String x diễn giải
sort_order Int x thứ tự sắp xếp dòng chi tiết
5.4.2.3. Mã lỗi thường gặp
Mã lỗi Mô tả Phương án xử lý
Exception Lỗi chưa xác định được nguyên nhân Liên hệ kênh hỗ trợ của MISA
InvalidAppID Lỗi sai AppID (có thể do đang không sử dụng đúng appid do AMIS kế toán cung cấp cho dự án) Dùng đúng app_id được cung cấp khi đăng ký, hoặc dúng appi_id của đơn vị đã đăng ký
InvalidToken Lỗi do token không hợp lệ Thực hiện gọi lại API lấy access_token mới
ExpiredToken Lỗi do token đã hết hạn Thực hiện gọi lại API lấy access_token mới
InvalidParam Tham số không hợp lệ Kiểm tra lại tham số đầu vào, xem thêm mô tả ở ErrorMessage
IsCreatedVoucher Đã sinh chứng từ kế toán Yêu cầu sinh chứng từ đã được Lập chứng từ, muốn thực hiện update thì xóa Chứng từ đã sinh
VoucherNotFound Không tìm thấy đề nghị sinh chứng từ kế toán Thực hiện tạo mới chứng từ hoặc kiểm tra org_refid đã đúng chưa
DBAmisNotConnectDBACT Chưa thiết lập kết nối với dữ liệu kế toán nào Kiểm tra thiết lập kết nối tại ứng dụng Amis kế toán
InvalidAccessToken Lỗi do mã truy cập không hợp lệ Thực hiện gọi lại API lấy access_token mới
AppIDDisconnect Đã ngắt kết nối ứng dụng app_id đã bị ngắt kết nối, muốn kết nối lại, liên hệ kênh hỗ trợ của MISA

5.5. Phiếu chi

5.5.1. Chi tiền mặt

5.5.1.1. Mô tả về API
Thông tin Diễn giải
URL /apir/sync/actopen/save
Method Post
Body request {

    “app_id“: “{app_id}”, //kiểu dữ liệu lấy về

    “org_company_code”: “{org_company_code}”

    “voucher“: [Danh sách ca_payment sử dụng]

}

Response {

    “Success“: true,

    “ErrorMessage“: “”,

    “Data“: “Hệ thống đã ghi nhận yêu cầu đồng bộ vào hàng đợi, dữ liệu sẽ được đồng bộ sang hệ thống AMIS Kế toán sớm nhất có thể. Sau khi xử lý xong yêu cầu đồng bộ, hệ thống sẽ trả kết quả đồng bộ vào đường dẫn callback mà đối tác đã cung cấp cho AMIS kế toán.”

}

Phản hồi ghi nhận kết quả trả về Data khi Response thành công

 

5.5.1.2. Mô tả đối tượng – ca_payment
Tên trường Kiểu dữ liệu Bắt buộc Diễn giải
voucher_type Int x 4
org_refid Guid x Chứng từ trên dữ liệu gốc (trường bắt buộc)
org_refno String x Số chứng từ trên dữ liệu gốc
org_reftype Int Ký hiệu loại chứng từ trên dữ liệu gốc
org_reftype_name String Tên loại chứng từ trên dữ liệu gốc
account_object_id Guid ID đối tượng (lấy ở API get_dictionary với data_type = 1)

– có thể chỉ sử dụng account_object_code cũng có thể mapping được với danh mục

account_object_code String Mã đối tượng
account_object_name String Tên người nộp tiền/ kho bạc
account_object_address String Điạ chỉ người nộp tiền
account_object_contact_name String Tên người lĩnh tiền
employee_id Guid Id Nhân viên (lấy ở API get_dictionary với data_type = 1 (is_employee = true))

– có thể chỉ sử dụng employee_code cũng có thể mapping được với danh mục

employee_code String Mã nhân viên
employee_name String Tên nhân viên
branch_id Guid x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
reason_type_id Int x Lý do chi:

24 – Trả tiền nhà cung cấp

21 – Tạm ứng cho nhân viên

25 – Chi mua ngoài có hóa đơn

22 – Gửi tiền vào ngân hàng

23 – Chi khác

refno_finance String Số chứng từ (trường hợp đơn vị muốn tự quản lý số chứng từ)
reforder long Số thứ tự chứng từ nhập vào database
refdate DateTime x Ngày chứng từ
reftype Int x Loại chứng từ của AMIS kế toán

1020: Chi tiền mặt

posted_date DateTime x Ngày hạch toán
exchange_rate Decimal x Tỷ giá (Default = 1)
total_amount_oc Decimal x Tổng tiền nguyên tệ (Default = 0)
total_amount Decimal x Tổng tiền quy đổi (Default = 0)
journal_memo String Diễn giải lý do thu
currency_id String Loại tiền
custom_field string Trường mỡ rộng (hỗ trợ từ custom_field1->custom_field10
detail List<detail> Danh sách hàng hóa
Thông tin chi tiết (details)
account_name String Tên TK ngân hàng
account_object_id Guid ID đối tượng (bắt buộc đối với trường hợp tài khoản quản lý theo đối tượng)

(lấy ở API get_dictionary với data_type = 1)

– có thể chỉ sử dụng account_object_code cũng có thể mapping được với danh mục

account_object_code String Mã đối tượng
account_object_name String Tên đối tượng
sort_order Int x Thứ tự sắp xếp
bank_account_id Guid ID TK ngân hàng (bắt buộc đối với trường hợp tài khoản quản lý theo tài khoản ngân hàng)
bank_account_number String Số TK
bank_name String Tên chi nhánh TK ngân hàng
amount_oc Decimal x Số tiền nguyên tệ (Default = 0)
amount Decimal x Số tiền quy đổi (Default = 0)
vat_amount Decimal Tổng tiền thuế quy đổi (Default = 0)
vat_amount_oc Decimal Tổng tiền thuế nguyên tệ (Default = 0)
vat_rate Decimal Thuế suất
vat_description String Diễn giải thuế
vat_account String Tài khoản thuế
description String Diễn giải
debit_account String x Tài khoản nợ
credit_account String x Tài khoản có
purchase_purpose_code String Mã HHDV mua vào
purchase_purpose_id Object x Mã nhóm hàng hóa dịch vụ

Cần truyền purchase_purpose_id tương ứng của mỗi loại để tự động mapping trên hệ thống Amis Kế toán

{

“purchase_purpose_code”: “1”,

“purchase_purpose_id”: “ed4bd91d-83ac-4a26-b4c1-4bce85faecb8”,

“purchase_purpose_name”: “Hàng hoá, dịch vụ dùng riêng cho SXKD chịu thuế GTGT và sử dụng cho các hoạt động cung cấp hàng hoá, dịch vụ không kê khai, nộp thuế GTGT đủ điều kiện khấu thuế”

},

{

“purchase_purpose_code”: “2”,

“purchase_purpose_id”: “d1609311-93aa-41c3-9d24-020bb6d47af5”,

“purchase_purpose_name”: “Hàng hóa, dịch vụ dùng chung cho SXKD chịu thuế và không chịu thuế đủ điều kiện khấu trừ thuế”

},

{

“purchase_purpose_code”: “3”,

“purchase_purpose_id”: “dcf4c47b-dd5b-4e2b-a524-4dbf6f815339”,

“purchase_purpose_name”: “Hàng hóa, dịch vụ dùng cho dự án đầu tư đủ điều kiện khấu trừ thuế”

},

{

“purchase_purpose_code”: “4”,

“purchase_purpose_id”: “1145d797-1304-446a-8fe9-d8b94f4568e2”,

“purchase_purpose_name”: “Hàng hóa, dịch vụ không đủ điều kiện khấu trừ”

},

{

“purchase_purpose_code”: “5”,

“purchase_purpose_id”: “c1c27910-be49-470e-a9de-f32321b9d12e”,

“purchase_purpose_name”: “Hàng hóa, dịch vụ không phải tổng hợp trên tờ khai 01\/ GTGT”

}

5.5.1.3. Mã lỗi thường gặp
Mã lỗi Mô tả Phương án xử lý
Exception Lỗi chưa xác định được nguyên nhân Liên hệ kênh hỗ trợ của MISA
InvalidAppID Lỗi sai AppID (có thể do đang không sử dụng đúng appid do AMIS kế toán cung cấp cho dự án) Dùng đúng app_id được cung cấp khi đăng ký, hoặc dúng appi_id của đơn vị đã đăng ký
InvalidToken Lỗi do token không hợp lệ Thực hiện gọi lại API lấy access_token mới
ExpiredToken Lỗi do token đã hết hạn Thực hiện gọi lại API lấy access_token mới
InvalidParam Tham số không hợp lệ Kiểm tra lại tham số đầu vào, xem thêm mô tả ở ErrorMessage
IsCreatedVoucher Đã sinh chứng từ kế toán Yêu cầu sinh chứng từ đã được Lập chứng từ, muốn thực hiện update thì xóa Chứng từ đã sinh
VoucherNotFound Không tìm thấy đề nghị sinh chứng từ kế toán Thực hiện tạo mới chứng từ hoặc kiểm tra org_refid đã đúng chưa
DBAmisNotConnectDBACT Chưa thiết lập kết nối với dữ liệu kế toán nào Kiểm tra thiết lập kết nối tại ứng dụng Amis kế toán
InvalidAccessToken Lỗi do mã truy cập không hợp lệ Thực hiện gọi lại API lấy access_token mới
AppIDDisconnect Đã ngắt kết nối ứng dụng app_id đã bị ngắt kết nối, muốn kết nối lại, liên hệ kênh hỗ trợ của MISA

 

5.5.2. Chi tiền gửi

5.5.2.1. Mô tả về API
Thông tin Diễn giải
URL /apir/sync/actopen/save
Method Post
Body request {

    “app_id“: “{app_id}”, //kiểu dữ liệu lấy về

    “org_company_code”: “{org_company_code}”

    “voucher“: [Danh sách ba_withdraw sử dụng]

}

Response {

    “Success“: true,

    “ErrorMessage“: “”,

    “Data“: “Hệ thống đã ghi nhận yêu cầu đồng bộ vào hàng đợi, dữ liệu sẽ được đồng bộ sang hệ thống AMIS Kế toán sớm nhất có thể. Sau khi xử lý xong yêu cầu đồng bộ, hệ thống sẽ trả kết quả đồng bộ vào đường dẫn callback mà đối tác đã cung cấp cho AMIS kế toán.”

}

Phản hồi ghi nhận kết quả trả về Data khi Response thành công

 

5.5.2.2. Mô tả đối tượng – ba_withdraw
Tên trường Kiểu dữ liệu Bắt buộc Diễn giải
voucher_type Int x 3
org_refid Guid x Chứng từ trên dữ liệu gốc
org_refno String x Số chứng từ trên dữ liệu gốc
org_reftype Int Ký hiệu loại chứng từ trên dữ liệu gốc
org_reftype_name String Tên loại chứng từ trên dữ liệu gốc
account_object_address String địa chỉ người nộp tiền
account_object_code String mã đối tượng
account_object_id Guid ID người nộp tiền (lấy ở API get_dictionary với data_type = 1)

– có thể chỉ sử dụng account_object_code cũng có thể mapping được với danh mục

account_object_name String tên người nộp tiền
account_object_bank_account String số TK ngân hàng
account_object_bank_account_name String tên TK ngân hàng
bank_account_id Guid ID tài khoản ngân hàng nhận tiền
bank_account_number String số TK ngân hàng nhận tiền
bank_name String tên TK ngân hàng
branch_id Guid x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
employee_code String Mã nhân viên
employee_id Guid Id Nhân viên (lấy ở API get_dictionary với data_type = 1 (is_employee = true))

– có thể chỉ sử dụng employee_code cũng có thể mapping được với danh mục

employee_name String tên nhân viên
journal_memo String diễn giải lý do thu
posted_date DateTime x ngày hạch toán
reason_type_id Int x Lý do chi

Trả các khoản vay: 40

Trả lương nhân viên: 41

Tạm ứng cho nhân viên: 42

Trả tiền nhà cung cấp: 44 (k có hóa đơn)

Chi khác: 43

Chi mua ngoài có hóa đơn: 45

reason_type_name String Tên lý do thu
refno_finance String Số chứng từ
reforder long Số thứ tự chứng từ nhập vào database
refdate DateTime x Ngày chứng từ
reftype Int x Loại chứng từ của AMIS kế toán

1510: Ủy nhiệm chi

1520: Séc tiền mặt

1530: Séc chuyển khoản

posted_date DateTime x Ngày hạch toán
exchange_rate Decimal x Tỷ giá (Default = 1)
total_amount_oc Decimal x Tổng tiền nguyên tệ (Default = 0)
total_amount Decimal x Tổng tiền quy đổi (Default = 0)
total_vat_amount Decimal Thuế quy đổ
total_vat_amount_oc Decimal Thuế nguyên tệ
journal_memo String Diễn giải lý do thu
currency_id String Loại tiền
custom_field string Trường mỡ rộng (hỗ trợ từ custom_field1->custom_field10
detail List<detail> Danh sách hàng hóa
Thông tin chi tiết (details)
account_name String Tên TK ngân hàng
account_object_id Guid ID đối tượng (lấy ở API get_dictionary với data_type = 1)

– có thể chỉ sử dụng account_object_code cũng có thể mapping được với danh mục

account_object_code String Mã đối tượng
sort_order Int x Thứ tự sắp xếp
amount_oc Decimal x Số tiền nguyên tệ (Default = 0)
amount Decimal x Số tiền quy đổi (Default = 0)
vat_amount Decimal Tổng tiền thuế quy đổi (Default = 0)
vat_amount_oc Decimal Tổng tiền thuế nguyên tệ (Default = 0)
vat_rate Decimal Thuế suất
vat_description String Diễn giải thuế
description String Diễn giải
debit_account String x Tài khoản nợ
credit_account String x Tài khoản có
purchase_purpose_code String Mã HHDV mua vào
purchase_purpose_id Object x Mã nhóm hàng hóa dịch vụ

Cần truyền purchase_purpose_id tương ứng của mỗi loại để tự động mapping trên hệ thống Amis Kế toán

{

“purchase_purpose_code”: “1”,

“purchase_purpose_id”: “ed4bd91d-83ac-4a26-b4c1-4bce85faecb8”,

“purchase_purpose_name”: “Hàng hoá, dịch vụ dùng riêng cho SXKD chịu thuế GTGT và sử dụng cho các hoạt động cung cấp hàng hoá, dịch vụ không kê khai, nộp thuế GTGT đủ điều kiện khấu thuế”

},

{

“purchase_purpose_code”: “2”,

“purchase_purpose_id”: “d1609311-93aa-41c3-9d24-020bb6d47af5”,

“purchase_purpose_name”: “Hàng hóa, dịch vụ dùng chung cho SXKD chịu thuế và không chịu thuế đủ điều kiện khấu trừ thuế”

},

{

“purchase_purpose_code”: “3”,

“purchase_purpose_id”: “dcf4c47b-dd5b-4e2b-a524-4dbf6f815339”,

“purchase_purpose_name”: “Hàng hóa, dịch vụ dùng cho dự án đầu tư đủ điều kiện khấu trừ thuế”

},

{

“purchase_purpose_code”: “4”,

“purchase_purpose_id”: “1145d797-1304-446a-8fe9-d8b94f4568e2”,

“purchase_purpose_name”: “Hàng hóa, dịch vụ không đủ điều kiện khấu trừ”

},

{

“purchase_purpose_code”: “5”,

“purchase_purpose_id”: “c1c27910-be49-470e-a9de-f32321b9d12e”,

“purchase_purpose_name”: “Hàng hóa, dịch vụ không phải tổng hợp trên tờ khai 01\/ GTGT”

}

5.5.2.3. Mã lỗi thường gặp
Mã lỗi Mô tả Phương án xử lý
Exception Lỗi chưa xác định được nguyên nhân Liên hệ kênh hỗ trợ của MISA
InvalidAppID Lỗi sai AppID (có thể do đang không sử dụng đúng appid do AMIS kế toán cung cấp cho dự án) Dùng đúng app_id được cung cấp khi đăng ký, hoặc dúng appi_id của đơn vị đã đăng ký
InvalidToken Lỗi do token không hợp lệ Thực hiện gọi lại API lấy access_token mới
ExpiredToken Lỗi do token đã hết hạn Thực hiện gọi lại API lấy access_token mới
InvalidParam Tham số không hợp lệ Kiểm tra lại tham số đầu vào, xem thêm mô tả ở ErrorMessage
IsCreatedVoucher Đã sinh chứng từ kế toán Yêu cầu sinh chứng từ đã được Lập chứng từ, muốn thực hiện update thì xóa Chứng từ đã sinh
VoucherNotFound Không tìm thấy đề nghị sinh chứng từ kế toán Thực hiện tạo mới chứng từ hoặc kiểm tra org_refid đã đúng chưa
DBAmisNotConnectDBACT Chưa thiết lập kết nối với dữ liệu kế toán nào Kiểm tra thiết lập kết nối tại ứng dụng Amis kế toán
InvalidAccessToken Lỗi do mã truy cập không hợp lệ Thực hiện gọi lại API lấy access_token mới
AppIDDisconnect Đã ngắt kết nối ứng dụng app_id đã bị ngắt kết nối, muốn kết nối lại, liên hệ kênh hỗ trợ của MISA

 

5.6. Kho

5.6.1. Nhập kho

5.6.1.2. Mô tả về API
Thông tin Diễn giải
URL /apir/sync/actopen/save
Method Post
Body request {

    “app_id“: “{app_id}”, //kiểu dữ liệu lấy về

    “org_company_code”: “{org_company_code}”

    “voucher“: [Danh sách in_inward sử dụng]

}

Response {

    “Success“: true,

    “ErrorMessage“: “”,

    “Data“: “Hệ thống đã ghi nhận yêu cầu đồng bộ vào hàng đợi, dữ liệu sẽ được đồng bộ sang hệ thống AMIS Kế toán sớm nhất có thể. Sau khi xử lý xong yêu cầu đồng bộ, hệ thống sẽ trả kết quả đồng bộ vào đường dẫn callback mà đối tác đã cung cấp cho AMIS kế toán.”

}

Phản hồi ghi nhận kết quả trả về Data khi Response thành công

 

5.6.1.3. Mô tả đối tượng – in_inward
Tên trường Kiểu dữ liệu Bắt buộc Diễn giải
voucher_type Int x 7
org_refid Guid x Id của chứng từ (mã định danh duy nhất).
org_reftype Int x Loại chứng từ kế toan gốc
org_refno String x Số chứng từ trên dữ liệu gốc
org_reftype_name String x Tên loại chứng từ trên dữ liệu gốc
reftype Int x Loại chứng từ

2010: Nhập kho thành phẩm sản xuất

2011: Nhập kho thành phẩm lắp ráp

2012: Nhập kho thành phẩm tháo dỡ

2013: Nhập kho từ hàng bán trả lại

2014: Nhập kho khác

2015: Nhập kho từ kiểm kê

2016: Nhập kho từ kiểm kê (Có điều chỉnh giá trị)

2017: Nhập kho hàng nhận gia công

reftype_name String Tên loại chứng từ
refdate DateTime x Ngày phiếu nhập
posted_date DateTime x Ngày hạch toán
account_object_address String Địa chỉ đối tượng
account_object_code String x Mã đối tượng
account_object_id Guid x ID đối tượng (lấy ở API get_dictionary với data_type = 1)

– có thể chỉ sử dụng account_object_code cũng có thể mapping được với danh mục

account_object_name String x Tên đối tượng
branch_id Guid x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
contact_name String Người giao hàng
currency_id String Loại tiền tệ
employee_id Guid Id Nhân viên (lấy ở API get_dictionary với data_type = 1 (is_employee = true))

có thể chỉ sử dụng employee_code cũng có thể mapping được với danh mục

employee_name String Mã nhân viên
exchange_rate Decimal Tỷ giá
in_reforder DateTime Ngày hạch toán
inventory_posted_date DateTime Ngày ghi sổ kho
is_adjust_value Bool Điều chỉnh giá trị

1: Điều chỉnh giá trị

0: Là không điều chỉnh giá trị

is_return_with_inward Bool
journal_memo String Diễn giải
created_by String Người tạo
created_date DateTime Thời gian tạo
modified_by String Người sửa
modified_date DateTime Thời gian sửa
unit_price_method Int Phương thức nhập/ tính đơn giá nhập.

0: Lấy từ giá xuất bán

1: Nhập đơn giá bằng tay

total_amount_finance Decimal Tổng tiền theo sổ tài chính
total_amount_management Decimal Tổng tiền theo sổ quản trị
document_included String Số chứng từ kèm theo
is_posted_finance Bool x Đánh dấu ghi sổ tài chính
is_posted_management Bool x Đánh dấu ghi sổ quản trị
custom_field string Trường mỡ rộng (hỗ trợ từ custom_field1->custom_field10
detail List <Object> x Chi tiết chứng từ
Thông tin chi tiết (details)
account_name String Tên tài khoản
account_object_code String Mã đối tượng
account_object_id Guid ID đối tượng (lấy ở API get_dictionary với data_type = 1)

– có thể chỉ sử dụng account_object_code cũng có thể mapping được với danh mục

account_object_name String Tên đối tượng
credit_account String x Tài khoản Có
debit_account String x Tài khoản Nợ
description String Diễn giải/ Tên hàng
exchange_rate_operator String x Toán tử quy đổi [*, / ] (nhân/ chia, mặc định là nhân)
is_description Bool x Đánh dấu là dòng diễn giải
inventory_item_code String x Mã vật tư
inventory_item_id Guid x Mã hàng/ Mã vật tư (Yêu cầu bắt buộc nếu Thông tin is_description = false)

– có thể chỉ cần dùng inventory_item_code cũng có thể mapping với danh mục

(lấy ở API get_dictionary với data_type = 2)

inventory_item_name String x Tên hàng/ tên vật tư
inventory_resale_type_id Int x Hàng hóa giữ hộ/ bán hộ
is_promotion Bool Là hàng khuyến mại
main_convert_rate Decimal x Tỷ lệ chuyển đổi ra đơn vị chính
main_quantity Decimal x Số lượng theo đơn vị chính
main_unit_id Guid x ID đơn vị tính (lấy ở API get_dictionary với data_type = 4)

– Có thể chỉ cần dùng unit_name cũng có thể mapping với danh mục

main_unit_name String x Tên đơn vị tính chính
quantity Decimal x Số lượng
sort_order Int Thứ tự sắp xếp các dòng chi tiết
stock_code String x Mã kho
stock_id Guid x ID kho (lấy ở API get_dictionary với data_type = 3)

– có thể chỉ cần dùng stock_code cũng có thể mapping với danh mục

stock_name String x Tên kho
unit_id Guid x ID đơn vị tính (lấy ở API get_dictionary với data_type = 4)

– Có thể chỉ cần dùng unit_name cũng có thể mapping với danh mục

unit_name String x Tên đơn vị tính
unit_price_finance Decimal Đơn giá (Sổ tài chính)
lot_no String Số lô
expiry_date DateTime? Hạn dùng
unit_price_finance Decimal Đơn giá (Sổ tài chính)
unit_price_management Decimal Đơn giá (Sổ quản trị)
amount_finance Decimal Thành tiền
amount_finance_oc Decimal Thành tiền (Sổ tài chính)
amount_management_oc Decimal Thành tiền (Sổ quản trị)
main_unit_price_finance Decimal Đơn giá theo đơn vị tính chính (Sổ tài chính)
main_unit_price_management Decimal Đơn giá theo đơn vị tính chính (Sổ quản trị)
5.6.1.4. Mã lỗi thường gặp
Mã lỗi Mô tả Phương án xử lý
Exception Lỗi chưa xác định được nguyên nhân Liên hệ kênh hỗ trợ của MISA
InvalidAppID Lỗi sai AppID (có thể do đang không sử dụng đúng appid do AMIS kế toán cung cấp cho dự án) Dùng đúng app_id được cung cấp khi đăng ký, hoặc dúng appi_id của đơn vị đã đăng ký
InvalidToken Lỗi do token không hợp lệ Thực hiện gọi lại API lấy access_token mới
ExpiredToken Lỗi do token đã hết hạn Thực hiện gọi lại API lấy access_token mới
InvalidParam Tham số không hợp lệ Kiểm tra lại tham số đầu vào, xem thêm mô tả ở ErrorMessage
IsCreatedVoucher Đã sinh chứng từ kế toán Yêu cầu sinh chứng từ đã được Lập chứng từ, muốn thực hiện update thì xóa Chứng từ đã sinh
VoucherNotFound Không tìm thấy đề nghị sinh chứng từ kế toán Thực hiện tạo mới chứng từ hoặc kiểm tra org_refid đã đúng chưa
DBAmisNotConnectDBACT Chưa thiết lập kết nối với dữ liệu kế toán nào Kiểm tra thiết lập kết nối tại ứng dụng Amis kế toán
InvalidAccessToken Lỗi do mã truy cập không hợp lệ Thực hiện gọi lại API lấy access_token mới
AppIDDisconnect Đã ngắt kết nối ứng dụng app_id đã bị ngắt kết nối, muốn kết nối lại, liên hệ kênh hỗ trợ của MISA

5.6.2. Xuất kho

5.6.2.1. Mô tả về API
Thông tin Diễn giải
URL /apir/sync/actopen/save
Method Post
Body request {

    “app_id“: “{app_id}”, //kiểu dữ liệu lấy về

    “org_company_code”: “{org_company_code}”

    “voucher“: [Danh sách in_outward sử dụng]

}

Response {

    “Success“: true,

    “ErrorMessage“: “”,

    “Data“: “Hệ thống đã ghi nhận yêu cầu đồng bộ vào hàng đợi, dữ liệu sẽ được đồng bộ sang hệ thống AMIS Kế toán sớm nhất có thể. Sau khi xử lý xong yêu cầu đồng bộ, hệ thống sẽ trả kết quả đồng bộ vào đường dẫn callback mà đối tác đã cung cấp cho AMIS kế toán.”

}

Phản hồi ghi nhận kết quả trả về Data khi Response thành công

 

5.6.2.2. Mô tả đối tượng – in_outward
Tên trường Kiểu dữ liệu Bắt buộc Diễn giải
voucher_type Int? x 8
org_refid Guid? x Id của chứng từ (mã định danh duy nhất).
org_reftype Int? x Loại chứng từ kế toán
org_refno String Số chứng từ trên dữ liệu gốc
org_reftype_name String Tên loại chứng từ trên dữ liệu gốc
reforder long? Số thứ tự nhập chứng từ
reftype Int? x Loại chứng từ

2020: Xuất kho bán hàng

2021: Xuất hàng cho chi nhánh khác

2022: Xuất kho khác

2023: Xuất kho sản xuất

2024: Xuất kho lắp ráp

2025: Xuất kho tháo dỡ

2026: Xuất kho từ kiểm kê

2027: Xuất kho từ kiểm kê (Có điều chỉnh giá trị)

2030: Xuất kho kiêm vận chuyển nội bộ

2031: Xuất kho gửi bán đại lý

2032: Xuất chuyển kho nội bộ

reftype_name String Tên loại chứng từ
account_object_address String Địa chỉ/ Bộ phận
account_object_code String x Mã đối tượng
account_object_id Guid? x ID đối tượng (lấy ở API get_dictionary với data_type = 1)

– có thể chỉ sử dụng account_object_code cũng có thể mapping được với danh mục

account_object_name String x Tên đối tượng
account_object_tax_code String Mã số thuế
branch_id Guid? x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
contact_name String Tên người nhận/ Bộ phận/ Của
contract_code String Hợp đồng số
employee_code String Tên nhân viên
employee_id Guid? Id Nhân viên (lấy ở API get_dictionary với data_type = 1 (is_employee = true))

– có thể chỉ sử dụng employee_code cũng có thể mapping được với danh mục

employee_name String Mã nhân viên
from_stock_id Guid? ID kho xuất (lấy ở API get_dictionary với data_type = 3)

– có thể chỉ cần dùng stock_code cũng có thể mapping với danh mục

in_reforder DateTime? x Ngày hạch toán
inventory_posted_date DateTime? Ngày ghi sổ kho
is_branch_issued Bool? Hóa đơn được cấp bởi chi nhánh
is_invoice_replace Bool? Là hóa đơn thay thế
is_sale_with_outward Bool? Bán hàng kiêm phiếu xuất kho
journal_memo String Lý do xuất/ Về việc
created_by String Người tạo
created_date DateTime? Thời gian tạo
modified_by String Người sửa
modified_date DateTime? Thời gian sửa
order_date DateTime? Ngày lệnh điều động
order_no String Lệnh điều động số
posted_date DateTime? x Ngày hạch toán
refdate DateTime? x Ngày chứng từ
revenue_status Int? Tình trạng ghi nhận doanh thu.

0: Chưa lập

1: Đã lập

shipping_address String Địa điểm giao
to_stock_id Guid? ID kho nhập (lấy ở API get_dictionary với data_type = 3) – có thể chỉ cần dùng stock_code cũng có thể mapping với danh mục
total_amount_finance Decimal Tổng thành tiền Sổ tài chính
total_amount_management Decimal Tổng thành tiền Sổ quản trị
transport String Phương tiện vận chuyển
transporter_id Guid? Người vận chuyển (danh mục nhân viên)
transporter_name String Tên người vận chuyển
custom_field string Trường mỡ rộng (hỗ trợ từ custom_field1->custom_field10
detail List<detail> x Danh sách hàng hóa
Thông tin chi tiết (details)
account_object_id Guid? ID đối tượng (lấy ở API get_dictionary với data_type = 1)

– có thể chỉ sử dụng account_object_code cũng có thể mapping được với danh mục

account_object_code String Mã đối tượng
account_object_name String Tên đối tượng
contact_name String Tên người nhận/ Bộ phận/ Của
amount_finance Decimal Số tiền trên sổ tài chính/ Tiền vốn
amount_management Decimal Số tiền trên sổ quản trị/ Tiền vốn
credit_account String x Tài khoản Có
debit_account String x Tài khoản Nợ
description String x Diễn giải
exchange_rate_operator String x Toán tử quy đổi *=nhân; / =chia (mặc định k truyền là nhân)
is_description Bool? Là dòng diễn giải
inventory_item_code String x Mã vật tư
inventory_item_id Guid? x Mã hàng/ Mã vật tư (nếu Thông tin is_description = false thì không được bỏ trống Thông tin này)

– có thể chỉ cần dùng inventory_item_code cũng có thể mapping với danh mục

(lấy ở API get_dictionary với data_type = 2)

inventory_item_name String x Tên vật tư
inventory_resale_type_id Int? x Hàng hóa ký gửi, bán hộ

1: Hàng hóa giữ hộ, gia công

2: Hàng hóa bán hộ, ký gửi

is_promotion Bool? Là hàng khuyến mại
is_un_update_outward_price Bool? Ko cập nhật giá xuất (Là hàng nhận bán Đại lý/ Ủy thác XK)
main_convert_rate Decimal x Tỷ lệ chuyển đổi ra đơn vị chính
main_quantity Decimal x Số lượng theo đơn vị chính
main_unit_id Guid? x ID đơn vị tính (lấy ở API get_dictionary với data_type = 4)

– Có thể chỉ cần dùng unit_name cũng có thể mapping với danh mục

main_unit_name String x Tên đơn vị tính chính
main_unit_price_finance Decimal Đơn giá theo đơn vị chính (Sổ tài chính)
quantity Decimal x Số lượng
sale_amount Decimal Thành tiền
sale_price Decimal Đơn giá bán
sort_order Int? x Thứ tự sắp xếp các dòng chi tiết
stock_code String x Mã kho
stock_id Guid? x ID kho (lấy ở API get_dictionary với data_type = 3)

– có thể chỉ cần dùng stock_code cũng có thể mapping với danh mục

stock_name String x Tên kho
unit_id Guid? x ID đơn vị tính (lấy ở API get_dictionary với data_type = 4)

– Có thể chỉ cần dùng unit_name cũng có thể mapping với danh mục

unit_name String x Tên đơn vị tính chính
unit_price_finance Decimal Đơn giá Sổ tài chỉnh/ Đơn giá vốn
lot_no String Số lô
expiry_date DateTime? Hạn dùng
5.6.2.3. Mã lỗi thường gặp
Mã lỗi Mô tả Phương án xử lý
Exception Lỗi chưa xác định được nguyên nhân Liên hệ kênh hỗ trợ của MISA
InvalidAppID Lỗi sai AppID (có thể do đang không sử dụng đúng appid do AMIS kế toán cung cấp cho dự án) Dùng đúng app_id được cung cấp khi đăng ký, hoặc dúng appi_id của đơn vị đã đăng ký
InvalidToken Lỗi do token không hợp lệ Thực hiện gọi lại API lấy access_token mới
ExpiredToken Lỗi do token đã hết hạn Thực hiện gọi lại API lấy access_token mới
InvalidParam Tham số không hợp lệ Kiểm tra lại tham số đầu vào, xem thêm mô tả ở ErrorMessage
IsCreatedVoucher Đã sinh chứng từ kế toán Yêu cầu sinh chứng từ đã được Lập chứng từ, muốn thực hiện update thì xóa Chứng từ đã sinh
VoucherNotFound Không tìm thấy đề nghị sinh chứng từ kế toán Thực hiện tạo mới chứng từ hoặc kiểm tra org_refid đã đúng chưa
DBAmisNotConnectDBACT Chưa thiết lập kết nối với dữ liệu kế toán nào Kiểm tra thiết lập kết nối tại ứng dụng Amis kế toán
InvalidAccessToken Lỗi do mã truy cập không hợp lệ Thực hiện gọi lại API lấy access_token mới
AppIDDisconnect Đã ngắt kết nối ứng dụng app_id đã bị ngắt kết nối, muốn kết nối lại, liên hệ kênh hỗ trợ của MISA

 

5.6.3. Chuyển kho

5.6.3.1. Mô tả về API
Thông tin Diễn giải
URL /apir/sync/actopen/save
Method Post
Body request {

    “app_id“: “{app_id}”, //kiểu dữ liệu lấy về

    “org_company_code”: “{org_company_code}”

    “voucher“: [Danh sách in_transfer sử dụng]

}

Response {

    “Success“: true,

    “ErrorMessage“: “”,

    “Data“: “Hệ thống đã ghi nhận yêu cầu đồng bộ vào hàng đợi, dữ liệu sẽ được đồng bộ sang hệ thống AMIS Kế toán sớm nhất có thể. Sau khi xử lý xong yêu cầu đồng bộ, hệ thống sẽ trả kết quả đồng bộ vào đường dẫn callback mà đối tác đã cung cấp cho AMIS kế toán.”

}

Phản hồi ghi nhận kết quả trả về Data khi Response thành công

 

5.6.3.2. Mô tả đối tượng – in_transfer
Tên trường Kiểu dữ liệu Bắt buộc Diễn giải
voucher_type Int? x 9
detail List <Object> x Chi tiết chứng từ
org_refid Guid? x ID chứng từ gốc
org_reftype Int? x Loại chứng từ gốc
org_reftype_name String Tên chứng từ gốc
org_refno String Số chứng từ gốc
account_object_id Guid? ID đối tượng (lấy ở API get_dictionary với data_type = 1)

– có thể chỉ sử dụng account_object_code cũng có thể mapping được với danh mục

account_object_code String x Mã đối tượng
account_object_name String Tên đối tượng
branch_id Guid? x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
company_tax_code String Mã số thuế
contract_code String x Hợp đồng kinh tế/ lệnh điều động (bắt buộc đối với xuất chuyển kho kiêm vận chuyển nội bộ)
contract_date DateTime? x Ngày hợp đồng/ điều động (bắt buộc đối với xuất kho gửi bán đại lý)
contract_owner String Hợp đồng/ lệnh điều động của
in_reforder DateTime? Ngày hạch toán
inventory_posted_date DateTime? Ngày ghi sổ kho
inv_no String Số hoá đơn
inv_series String Ký hiệu hoá đơn
inv_template_no String Mẫu số
inv_type_in Int? Loại hoá đơn

0: Nhập tay

1: GTGT

2: Bán hàng

3: PXK kiêm vận chuyển nội bộ

4: PXK gửi bán hàng đại lý

5: Hoá đơn xuất khẩu

6: Hoá đơn bán hàng (dành cho tổ chức, cá nhân trong khu phi thuế quan)

is_attach_list Bool? In kèm bảng kê
is_branch_issued Bool? Hoá đơn cấp bởi chi nhánh
is_invoice_replace Bool? Là hoá đơn thay thế
is_posted_finance Bool? Trạng thái ghi sổ tài chính
is_posted_inventory_book_finance Bool? Trạng thái ghi sổ thủ kho (sổ tài chính)
journal_memo String Với đại lý/ về việc/ Diễn giải
posted_date DateTime? x Ngày hạch toán
refdate DateTime? x Ngày chứng từ
refno_finance String Số chứng từ sổ tài chính
reforder Long? Số thứ tự nhập chứng từ
reftype Int? x Loại chứng từ

2030: Xuất kho kiêm vận chuyển nội bộ

2031: Xuất kho gửi bán đại lý

2032: Xuất chuyển kho nội bộ

reftype_name String Tên loại chứng từ
transport String x Phương tiện vận chuyển
transport_contract_code String x Hợp đồng vận chuyển (bắt buộc đối với xuất kho gửi bán đại lý)
transporter_id Guid? x ID người vận chuyển (bắt buộc đối với xuất kho gửi bán đại lý)
transporter_name String x Tên người vận chuyển (bắt buộc đối với xuất kho gửi bán đại lý)
transporter_code String x Mã người vận chuyển (bắt buộc đối với xuất kho gửi bán đại lý)
custom_field string Trường mỡ rộng (hỗ trợ từ custom_field1->custom_field10
detail List<detail> Danh sách hàng hóa
Thông tin chi tiết (detail)
account_name String Tên tài khoản
amount_finance Decimal Tiền vốn Sổ tài chính
amount_management Decimal Tiền vốn Sổ quản trị
credit_account String x TK Có
debit_account String x TK Nợ
description String x Diễn giải/ tên hàng
exchange_rate_operator String x Toán tử quy đổi *=nhân; / =chia (mặc định k truyền là nhân)
from_stock_code String x Mã kho xuất
from_stock_id Guid? x ID kho xuất (lấy ở API get_dictionary với data_type = 3)

– có thể chỉ cần dùng stock_code cũng có thể mapping với danh mục

from_stock_name String x Tên kho xuất
is_description Bool? Là dòng diễn giải
inventory_item_code String x Mã vật tư/hàng hóa (nếu Thông tin is_description = false thì không được bỏ trống Thông tin này)
inventory_item_id Guid? x ID hàng hoá dịch vụ

– có thể chỉ cần dùng inventory_item_code cũng có thể mapping với danh mục

(lấy ở API get_dictionary với data_type = 2)

inventory_item_name String x Tên vật tư/hàng hóa
inventory_resale_type_id Int? x Hàng hóa giữ hộ/ bán hộ
main_convert_rate Decimal x Tỷ lệ chuyển đổi ra đơn vị chính
main_quantity Decimal x Số lượng theo đơn vị chính
main_unit_id Guid? x ID đơn vị tính (lấy ở API get_dictionary với data_type = 4)

– Có thể chỉ cần dùng unit_name cũng có thể mapping với danh mục

main_unit_name String x Tên đơn vị tính chính
main_unit_price_finance Decimal Đơn giá theo đơn vị chính (Sổ tài chính)
quantity Decimal x Số lượng
sale_amount Decimal Thành tiền bán (Xuất kho gửi bán đại lý)
sale_price Decimal Đơn giá bán (Xuất kho gửi bán đại lý)
sort_order Int? x Thứ tự sắp xếp các dòng chi tiết
to_stock_id Guid? x ID kho chuyển đến (lấy ở API get_dictionary với data_type = 3)

– có thể chỉ cần dùng stock_code cũng có thể mapping với danh mục

to_stock_code String x Mã kho chuyển đến
to_stock_name String x Tên kho chuyển đến
unit_id Guid? x ID đơn vị tính (lấy ở API get_dictionary với data_type = 4)

– Có thể chỉ cần dùng unit_name cũng có thể mapping với danh mục

unit_name String x Tên đơn vị tính
unit_price_finance Decimal Đơn giá vốn Sổ tài chính
lot_no String Số lô
expiry_date DateTime? Hạn dùng
5.6.3.3. Mã lỗi thường gặp
Mã lỗi Mô tả Phương án xử lý
Exception Lỗi chưa xác định được nguyên nhân Liên hệ kênh hỗ trợ của MISA
InvalidAppID Lỗi sai AppID (có thể do đang không sử dụng đúng appid do AMIS kế toán cung cấp cho dự án) Dùng đúng app_id được cung cấp khi đăng ký, hoặc dúng appi_id của đơn vị đã đăng ký
InvalidToken Lỗi do token không hợp lệ Thực hiện gọi lại API lấy access_token mới
ExpiredToken Lỗi do token đã hết hạn Thực hiện gọi lại API lấy access_token mới
InvalidParam Tham số không hợp lệ Kiểm tra lại tham số đầu vào, xem thêm mô tả ở ErrorMessage
IsCreatedVoucher Đã sinh chứng từ kế toán Yêu cầu sinh chứng từ đã được Lập chứng từ, muốn thực hiện update thì xóa Chứng từ đã sinh
VoucherNotFound Không tìm thấy đề nghị sinh chứng từ kế toán Thực hiện tạo mới chứng từ hoặc kiểm tra org_refid đã đúng chưa
DBAmisNotConnectDBACT Chưa thiết lập kết nối với dữ liệu kế toán nào Kiểm tra thiết lập kết nối tại ứng dụng Amis kế toán
InvalidAccessToken Lỗi do mã truy cập không hợp lệ Thực hiện gọi lại API lấy access_token mới
AppIDDisconnect Đã ngắt kết nối ứng dụng app_id đã bị ngắt kết nối, muốn kết nối lại, liên hệ kênh hỗ trợ của MISA

 

5.6.4. Kiểm kê kho

5.6.4.1. Mô tả về API
Thông tin Diễn giải
URL /apir/sync/actopen/save
Method Post
Body request {

    “app_id“: “{app_id}”, //kiểu dữ liệu lấy về

    “org_company_code“: “{org_company_code}”

    “voucher“: [Danh sách in_audit sử dụng]

}

Response {

    “Success“: true,

    “ErrorMessage“: “”,

    “Data“: “Hệ thống đã ghi nhận yêu cầu đồng bộ vào hàng đợi, dữ liệu sẽ được đồng bộ sang hệ thống AMIS Kế toán sớm nhất có thể. Sau khi xử lý xong yêu cầu đồng bộ, hệ thống sẽ trả kết quả đồng bộ vào đường dẫn callback mà đối tác đã cung cấp cho AMIS kế toán.”

}

Phản hồi ghi nhận kết quả trả về Data khi Response thành công

 

5.6.4.2. Mô tả đối tượng – in_audit
Tên trường Kiểu dữ liệu Bắt buộc Diễn giải
voucher_type Int x 19
detail List <Object> x Chi tiết chứng từ
org_refid Guid? x ID chứng từ gốc
org_reftype Int? x Reftype của chứng từ gốc
org_reftype_name String Tên chứng từ gốc
org_refno String Số chứng từ gốc
audit_date DateTime? x Kiểm kê đến ngày
branch_id Guid? x Mã chi nhánh (lấy ở API get_dictionary với data_type = 6)
is_executed Bool? Đã xử lý chênh lệch
is_quantity_audit Bool? Kiểm kê phẩm chất
is_value_audit Bool? Kiểm kê giá trị
journal_memo String Mục đích
refdate DateTime? x Ngày chứng từ
refno String Số chứng từ
reforder Long? Số thứ tự
ref_time DateTime? x Giờ
reftype Int? x Loại chứng từ

2060: Kiểm kê kho

stock_code String x Mã kho
stock_id Guid? x ID kho (lấy ở API get_dictionary với data_type = 3)

– có thể chỉ cần dùng stock_code cũng có thể mapping với danh mục

stock_name String x Tên kho
sumary String Kết luận
custom_field string Trường mỡ rộng (hỗ trợ từ custom_field1->custom_field10
detail List<detail> Danh sách hàng hóa
Thông tin chi tiết (detail)
amount_audit Decimal x Thành tiền kiểm kê
amount_on_book Decimal x Thành tiền trên sổ kế toán
diff_amount Decimal x Số tiền chênh lệch
diff_quantity Decimal x Số lượng chênh lệch
execute_action Int? 0: không xử lý

1: nhập kho

2: xuất kho

good_quantity Decimal x Số lượng còn tốt 100%
include_serial_not_in_stock Bool? Bao gồm cả hàng hoá không trong kho
inventory_item_code String x Mã vật tư/hàng hóa
inventory_item_id String x ID hàng hoá dịch vụ

– có thể chỉ cần dùng inventory_item_code cũng có thể mapping với danh mục

(lấy ở API get_dictionary với data_type = 2)

inventory_item_name String x Tên vật tư/hàng hóa
lost_quantity Decimal x Số lượng mất phẩm chất
low_quantity Decimal x Số lượng kém phẩm chất
quantity_audit Decimal x Số lượng kiểm kê
quantity_on_book Decimal x Số lượng trên sổ kế toán (gọi api lấy tồn kho để truyền số lượng chính xác)
sort_order Int? x Số thứ tự dòng
stock_code String x Mã kho
stock_id Guid? x ID kho (lấy ở API get_dictionary với data_type = 3)

– có thể chỉ cần dùng stock_code cũng có thể mapping với danh mục

stock_name String x Tên kho
unit_id Guid? x ID đơn vị tính (lấy ở API get_dictionary với data_type = 4)

– Có thể chỉ cần dùng unit_name cũng có thể mapping với danh mục

unit_name String x Tên đơn vị tính
unit_price Decimal x Đơn giá
5.6.4.3. Mã lỗi thường gặp
Mã lỗi Mô tả Phương án xử lý
Exception Lỗi chưa xác định được nguyên nhân Liên hệ kênh hỗ trợ của MISA
InvalidAppID Lỗi sai AppID (có thể do đang không sử dụng đúng appid do AMIS kế toán cung cấp cho dự án) Dùng đúng app_id được cung cấp khi đăng ký, hoặc dúng appi_id của đơn vị đã đăng ký
InvalidToken Lỗi do token không hợp lệ Thực hiện gọi lại API lấy access_token mới
ExpiredToken Lỗi do token đã hết hạn Thực hiện gọi lại API lấy access_token mới
InvalidParam Tham số không hợp lệ Kiểm tra lại tham số đầu vào, xem thêm mô tả ở ErrorMessage
IsCreatedVoucher Đã sinh chứng từ kế toán Yêu cầu sinh chứng từ đã được Lập chứng từ, muốn thực hiện update thì xóa Chứng từ đã sinh
VoucherNotFound Không tìm thấy đề nghị sinh chứng từ kế toán Thực hiện tạo mới chứng từ hoặc kiểm tra org_refid đã đúng chưa
DBAmisNotConnectDBACT Chưa thiết lập kết nối với dữ liệu kế toán nào Kiểm tra thiết lập kết nối tại ứng dụng Amis kế toán
InvalidAccessToken Lỗi do mã truy cập không hợp lệ Thực hiện gọi lại API lấy access_token mới
AppIDDisconnect Đã ngắt kết nối ứng dụng app_id đã bị ngắt kết nối, muốn kết nối lại, liên hệ kênh hỗ trợ của MISA