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) |
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 |
| 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 | 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 |
| 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 |



