Contents
1. Submitting Electronic Invoices for Reimbursement from Weixin Official Accounts/Mini Programs
2. Submitting Electronic Invoices for Reimbursement from Weixin Work/QA Company Accounts
3. Submitting Electronic Invoices for Reimbursement from External Apps
4. Submitting Electronic Invoices for Reimbursement by Scanning QR Code

# Introduction

This document describes how companies can allow users to submit electronic invoices and implement paperless reimbursement in different business scenarios. Here, we provide descriptions of various scenarios, basic interactions, and development guidance for the specific steps. Companies can select appropriate business scenarios as needed and follow the development steps in this document. This document provides API documentation links when discussing the APIs that must be called in each step. Companies and reimbursement software developers can follow these links to view the documentation for the corresponding APIs. If you have a verified Weixin Official Accounts Platform account, Weixin Open Platform account, Weixin Work account, or OA company account, you can directly call the Weixin electronic invoice reimbursement API.

# 1. Submitting Electronic Invoices for Reimbursement from Weixin Official Accounts/Mini Programs

# 1.1 Scenario Description

Submitting electronic invoices for reimbursement in Weixin generally refers to a scenario where a company or a reimbursement app provider that has an Official Account or Mini Program allows company employees or users to pull up a list of Weixin invoices in Weixin, select certain invoices, and submit them to the company or reimbursement app. When the company receives invoices submitted by employees, it completes the subsequent reimbursement process.
This scenario is applicable to:
(1) Reimbursing companies or reimbursement service providers that have a complete reimbursement system in their Weixin Official Accounts/Mini Programs.
(2) Existing reimbursement systems with independent user account systems. After an employee link the existing reimbursement system account to a Weixin Official Account/Mini Program, they can submit invoices to the reimbursing company or reimbursement service provider in Weixin.

After users submit the electronic invoices in a Weixin Official Account/Mini Program without having to install an additional app, companies and reimbursement app providers can implement quick submission of electronic invoices on mobile devices with the least technical difficulty.

# 1.2 Interaction Process on User Side

The interactions when electronic invoices are submitted for reimbursement from Weixin are shown below:
Interactions for reimbursement in Weixin

# 1.3 API Workflow

The operations flowchart when electronic invoices are submitted for reimbursement from Weixin is shown below: 微信内报销时序 The steps of invoicing with Official Accounts are as follows: (1) Obtain the access_token of the Official Accounts Platform account/Weixin Work account. For the call method, see Obtaining access_token. (2) Pull up the invoice list page. For the call method, see Pulling Up Invoice List from Weixin Official Account and Pulling Up Invoice List from Weixin Mini Program. (3) After the user selects invoices from the invoice list page, the card_id and encrypt_code of the selected invoices are returned via the JS callback.
(4) Query invoice information based on the card_id and encrypt_code. For the call method, see Querying Reimbursement Invoice Information.
(5) Based on the company's reimbursement process, convert the invoice information to a reimbursement order. No Weixin API is required in this step.
(6) Submit the reimbursement order and change the invoice status to "Locked" to avoid repeated reimbursement. For the call method, see Updating Invoice Status by Reimburser. If multiple invoices are reimbursed, you can update their statuses by calling the Updating Invoice Statuses in Batch by Reimburser API.
(7) After the reimbursement process is completed, change the invoice status to "Reimbursed". For the call method, see Updating Invoice Status by Reimburser. If multiple invoices are reimbursed, you can update their statuses by calling the Updating Invoice Statuses in Batch by Reimburser.

# 2. Submitting Electronic Invoices for Reimbursement from Weixin Work/QA Company Accounts

# 2.1 Scenario Description

Submitting electronic invoices from Weixin Work refers to a scenario where a company with a verified Weixin Work/OA Company Account can pull up the list of invoices saved in Weixin Cards & Offers from the Weixin Work/OA Company Account. The invoices to be reimbursed are selected by employees and submitted to the company or a reimbursement app. After receipt, the company completes the subsequent reimbursement process. With the combination of Weixin Work APIs that are used to implement electronic invoice reimbursement and the Approval API capabilities of Weixin Work, you can implement a process that integrates reimbursement, submission, and approval features.

# 2.2 Interaction Process on User Side

The interactions when electronic invoices are submitted from Weixin Work are shown below:
企业微信报销交互

# 2.3 API Workflow

The operations flowchart when electronic invoices are submitted for reimbursement from Weixin Work/OA Company Account is shown below: 企业微信报销时序图 The steps of the submitting electronic invoice from Weixin Work are as follows:
(1) Obtain the access_token of the Weixin Work/OA Company Account. For the call method, see Obtaining access_token. (2) Pull up the invoice list page. Weixin Work 2.1 comes with a JS-API to select electronic invoices. After a company updates its Weixin Work version to 2.1 or later, it can quickly implement electronic invoice selection in Weixin Work. For the call method, see Pulling Up Invoice List from Weixin Work. (3) After the user selects invoices from the invoice list page, the card_id and encrypt_code of the selected invoices are returned via the JS callback.
(4) Query invoice information based on the card_id and encrypt_code. For the call method, see Querying Reimbursement Invoice Information.
(5) Based on the company's reimbursement process, convert the invoice information to a reimbursement order. No Weixin API is required in this step.
(6) Submit the reimbursement order and change the invoice status to "Locked" to avoid repeated reimbursement. For the call method, see Updating Invoice Status by Reimburser. If multiple invoices are reimbursed, you can update their statuses by calling the Updating Invoice Statuses in Batch by Reimburser API.
(7) After the reimbursement process is completed, change the invoice status to "Reimbursed". For the call method, see Updating Invoice Status by Reimburser. If multiple invoices are reimbursed, you can update their statuses by calling the Updating Invoice Statuses in Batch by Reimburser.

# 3. Submitting Electronic Invoices for Reimbursement from External Apps

# 3.1 Scenario Description

Submitting electronic invoices from an app refers to a scenario where the reimbursing company or reimbursement service provider pulls up the list of invoices saved in Weixin Cards & Offers from a self-deployed mobile office app. The invoices to be reimbursed are selected by employees and submitted to the company or a reimbursement app. After receipt, the company completes the subsequent reimbursement process. Initiating an electronic invoice reimbursement process from an app further enriches the application scenarios of the company's mobile office app.

# 3.2 Interaction Process on User Side

The interactions when electronic invoices are submitted for reimbursement from an external app are shown below:
Interactions for external app reimbursement

# 3.3 API Workflow

The operations flowchart when electronic invoices are submitted for reimbursement from an external app is shown below: App报销时序

The steps of submitting electronic invoices for reimbursement from an external app:
(1) Obtain the access_token of the Open Platform account. For the call method, see Obtaining access_token. (2) Pull up the invoice list page. For the call method, see the Reimburser API List. (3) After the user selects invoices from the invoice list page, the card_id and encrypt_code of the selected invoices are returned via the JS callback.
(4) Query invoice information based on the card_id and encrypt_code. For the call method, see the Reimburser API List.
(5) Based on the company's reimbursement process, convert the invoice information to a reimbursement order. No Weixin API is required in this step.
(6) Submit the reimbursement order and change the invoice status to "Locked" to avoid repeated reimbursement. For the call method, see the Reimburser API List.
(7) After the reimbursement process is completed, change the invoice status to "Reimbursed". For the call method, see Reimburser API List.

# 4. Submitting Electronic Invoices for Reimbursement by Scanning QR Code

# 4.1 Scenario Description

Submitting electronic invoices by scanning QR code refers to a scenario where a company's employees or users scan the QR code on PC to pull up the list of invoices saved in Weixin Cards & Offers on the Weixin HTML5 page. The invoices to be reimbursed are selected by employees and submitted to the company or a reimbursement app. After receipt, the company completes the subsequent reimbursement process.
This scenario is applicable to reimbursing companies or reimbursement service providers whose employee reimbursement processes are performed from PCs. In this scenario, the reimbursing company or reimbursement service provider must be capable of pulling up Weixin electronic invoices in a mobile app (Weixin, Weixin Work, or an independent reimbursement app). Considering that most employees initiate their reimbursement requests on PC, this scenario allows seamless integration with existing invoicing systems to facilitate the promotion and application across the company, and employees do not have to change their reimbursement practices.

# 4.2 Interaction Process on User Side

The interactions for invoicing by code scan are shown below:
扫码报销交互1
扫码报销交互2

# 4.3 API Workflow

The operations flowchart when electronic invoices are submitted for reimbursement by scanning QR code is shown below: 扫码报销时序 The steps of invoicing by code scan are as follows:
(1) Maintain the QR code and display it on the reimbursement system for PC so that employees can scan the code via Weixin, Weixin Work, or an independent reimbursement app to bring up the reimbursement page. Then, the employees can submit electronic invoices to the reimbursement system. After the reimbursement system receives the invoice information, the employees can complete the subsequent reimbursement process on the PC.
(2) Obtain the access_token of the Official Accounts Platform account/Weixin Work account. For the call method, see Obtaining access_token. (3) Pull up the invoice list page. For the call method, see the Reimburser API List. (4) After the user selects invoices from the invoice list page, the card_id and encrypt_code of the selected invoices are returned via the JS callback.
(5) Query invoice information based on the card_id and encrypt_code. For the call method, see the Reimburser API List.
(6) Based on the company's reimbursement process, convert the invoice information to a reimbursement order. No Weixin API is required in this step.
(7) Submit the reimbursement order and change the invoice status to "Locked" to avoid repeated reimbursement. For the call method, see the Reimburser API List.
(8) After the reimbursement process is completed, change the invoice status to "Reimbursed". For the call method, see Reimburser API List.