https://api.invox.jp/api/public/
https://api.invox.jp/oauth2/authorize/
リクエストメソッド: GET
認可コードを取得するために使用します。(認可コードはトークンの取得に必要です)
名前 | 内容 |
---|---|
response_type | レスポンスタイプ。code を指定します。 |
client_id | クライアントID。弊社から発行いたします。 |
redirect_uri | コールバックURI。認可レスポンスをリダイレクトするURLです。 |
state | クライアントが初期リクエストに追加する OPAQUE 値。認可サーバはクライアントにリダイレクトして戻るときに、この値を含めます。 |
scope | 認可される権限。利用されるAPIによって異なります。 |
GET https://api.invox.jp/oauth2/authorize/?
response_type=code&
client_id=CLIENT_ID&
redirect_uri=https://YOUR_APP/REDIRECT_URI&
state=STATE&
scope=read write
HTTP/1.1 302 Found
Location: https://YOUR_APP/REDIRECT_URI?code=AUTHORIZATION_CODE&state=STATE
※認可コード(AUTHORIZATION_CODE)の有効期限は1分間であるため、取得後、1分以内にトークンを取得する必要があります。
トークンの取得
https://api.invox.jp/oauth2/token/
リクエストメソッド: POST
トークンの初回取得に使用します。
ヘッダー
パラメータ
名前 | 内容 |
---|---|
grant_type | 付与タイプ。authorization_code を指定します。 |
client_id | クライアントID |
redirect_uri | コールバックURL。認可エンドポイントで使用された redirect_uri と同じ文字列を指定します。 |
code | 認可コード |
リクエストイメージ
POST https://api.invox.jp/oauth2/token >
Content-Type='application/x-www-form-urlencoded'&
Authorization=Basic ENCODED_CLIENT_ID_AND_SECRET
grant_type=authorization_code&
client_id=CLIENT_ID&
code=AUTHORIZATION_CODE&
redirect_uri=https://YOUR_APP/REDIRECT_URI
レスポンス内容
HTTP/1.1 200 OK
Content-Type: application/json
{
"access_token": "ACCESS_TOKEN",
"expires_in": 36000,
"token_type": "Bearer",
"scope": "read write",
"refresh_token": "REFRESH_TOKEN
}
※アクセストークンの有効期限はexpires_inで返却された値(秒)です。 リフレッシュトークン(更新トークン)の有効期限はありません。
トークンのリフレッシュ
https://api.invox.jp/oauth2/token/
リクエストメソッド: POST
トークンのリフレッシュ(有効なアクセストークンの再取得)に使用します。
ヘッダー
Authorization
Basic Base64Encode(CLIENT_ID:CLIENT_SECRET)
クライアントIDとクライアントシークレットをコロン(:)でつないだ文字列をBase64でエンコードした値を、ベーシックHTTP認証を介して認証ヘッダー(Authorization)に渡します。
Content-Type
application/x-www-form-urlencoded
パラメータ
名前 | 内容 |
---|---|
grant_type | 付与タイプ。refresh_token を指定します。 |
client_id | クライアントID |
refresh_token | 更新トークン |
リクエストイメージ
POST https://api.invox.jp/oauth2/token >
Content-Type='application/x-www-form-urlencoded'
Authorization=Basic ENCODED_CLIENT_ID_AND_SECRET
grant_type=refresh_token&
client_id=CLIENT_ID&
refresh_token=REFRESH_TOKEN
レスポンス内容
HTTP/1.1 200 OK
Content-Type: application/json
{
"access_token": "ACCESS_TOKEN",
"expires_in": 36000,
"token_type": "Bearer",
"scope": "read write",
"refresh_token": "REFRESH_TOKEN"
}
※リフレッシュされたアクセストークンの有効期限はexpires_inで返却された値(秒)です。 リフレッシュトークン(更新トークン)の有効期限はありません。
トークンの取り消し
https://api.invox.jp/oauth2/revoke_token/
リクエストメソッド: POST
不要となったアクセストークンの取り消しに使用します。
ヘッダー
パラメータ
名前 | 内容 |
---|---|
token | アクセストークン |
client_id | クライアントID |
client_secret | クライアントシークレット |
リクエストイメージ
POST https://api.invox.jp/oauth2/revoke_token >
Content-Type='application/x-www-form-urlencoded'
token=ACCESS_TOKEN
client_id=CLIENT_ID
client_secret=CLIENT_SECRET
レスポンス内容
HTTP/1.1 200 OK
プロフェッショナルプランによるご契約が必要です。
設定 > サービス > サービス・プラン設定
よりご確認ください。
invox電子帳簿保存にログイン可能なユーザーを登録してください。該当ユーザーによりアップロードされた書類として扱われます(接続用ユーザーを削除するとAPI接続ができなくなります)。
設定 > スタッフ
より設定・確認可能です。
API接続時に「企業ID」が必要となります。
設定 > 会社
より確認可能です(システムが自動採番します。任意の値に変更はできません)。
https://api.invox.jp/oauth2/authorize/?response_type={response_type}&client_id={クライアントID}&redirect_uri={リダイレクトURI}&scope={scope}&state={state}
リダイレクト先に遷移した後、アドレスバーに表示された内容を保存してください(code=以降の文字列が認可コードです)。
認可コードは1分程度で失効しますので、すぐに「2.トークンの取得」を実施してください。
失効した場合は、再度1-1. からやり直して認可コードを取得してください。
curlコマンドの実行サンプル
curl -X POST -H "Authorization: Basic {クライアントIDとクライアントシークレットをコロン(:)でつないだ文字列をBase64でエンコードした値}"
-H "Content-Type: application/x-www-form-urlencoded" "https://api.invox.jp/oauth2/token/"
-d "grant_type=authorization_code"
-d "client_id={クライアントID}"
-d "redirect_uri={リダイレクトURI}"
-d "code={1.で取得した認可コード}"
実行例
応答例(「アクセストークン」と「リフレッシュトークン」が返されます)
curlコマンドの実行サンプル
curl -X POST -H "Authorization: Basic {クライアントIDとクライアントシークレットをコロン(:)でつないだ文字列をBase64でエンコードした値}"
-H "Content-Type: application/x-www-form-urlencoded" "https://api.invox.jp/oauth2/token/"
-d "grant_type=refresh_token"
-d "client_id={クライアントID}"
-d "refresh_token={リフレッシュトークン}"
以下、python3 による簡易スクリプト例です。別途「sample.pdf」ファイルを用意します。
import base64
import json
import requests
def main():
headers = {
"Authorization": "Bearer {アクセストークン}",
"content-type": "application/json",
}
url = "https://api.invox.jp/api/public/e_storage"
file_content = open("sample.pdf", "rb").read()
data = {
"invox_company_code": "{企業ID}",
"e_storage": {
"doc_type": "見積書(受領)",
"entry_method": "user",
"file_name": "sample.pdf",
"file_content": base64.b64encode(file_content).decode("utf-8"),
"partner_name": "partner_name",
"transaction_date": "2023/07/01",
"transaction_amount": "123456",
"currency_code": "JPY",
"staff_name": "staff",
}
}
res = requests.post(url, headers=headers, data=json.dumps(data))
if __name__ == "__main__":
main()
レスポンス例:書類IDと書類URLが返却されます
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "DOCUMENT_ID",
"url": "DOCUMENT_URL",
}
invox電子帳簿保存にログオンして書類が登録されていることを確認してください。
検索条件の「取込経路」が「API」で検索される書類がAPIによって登録されたものになります。
Q. invox APIのOAth2.0の利用方法について教えてください
Q. コールバックURI(redirect_uri)はどのように指定すればよいですか?
Q. トークンの有効期限はどのくらいですか?
Q. トークンの有効期限が切れた場合はどうすればよいですか?
Q. invox電子帳簿保存 書類登録を利用するにはどのようなプランが必要ですか?
Q. invox電子帳簿保存 書類登録で複数の書類を1度に登録することはできますか?
Q. invox電子帳簿保存 書類登録で登録可能なファイルの種類に制限はありますか?
Q. invox電子帳簿保存 書類登録で登録可能なファイルサイズの制限はありますか?
Q. invox電子帳簿保存に登録済みの書類データを取得するAPIはありますか?
invox受取請求書の機能を提供します。
利用例(受取請求書)
invox_company_code required | string <= 30 characters 企業ID | ||||||||||||||||||||||||||||||||||||||||||||||||||
file required | binary <= 50MB 請求書ファイル(ファイル形式:pdf,jpeg,png) | ||||||||||||||||||||||||||||||||||||||||||||||||||
required | object | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
{- "invoice_id": "string"
}
invox_company_code required | string <= 30 characters 企業ID |
invoice_date_from | string <date> 請求日From(フォーマットは「YYYY-MM-DD」「YYYY/MM/DD」「YYYYMMDD」のいずれかとなります) |
invoice_date_to | string <date> 請求日To(フォーマットは「YYYY-MM-DD」「YYYY/MM/DD」「YYYYMMDD」のいずれかとなります) |
payment_plan_date_from | string <date> 支払予定日From(フォーマットは「YYYY-MM-DD」「YYYY/MM/DD」「YYYYMMDD」のいずれかとなります) |
payment_plan_date_to | string <date> 支払予定日To(フォーマットは「YYYY-MM-DD」「YYYY/MM/DD」「YYYYMMDD」のいずれかとなります) |
posting_date_from | string <date> 計上日From(フォーマットは「YYYY-MM-DD」「YYYY/MM/DD」「YYYYMMDD」のいずれかとなります) |
posting_date_to | string <date> 計上日To(フォーマットは「YYYY-MM-DD」「YYYY/MM/DD」「YYYYMMDD」のいずれかとなります) |
fixed_only | bool 確定のみ検索フラグ(未指定の場合はtrueとなります) trueの場合、確定済み以降のステータスのもののみ検索結果に含める |
export_status | string Enum: "invoice_unexported" "payment_unexported" "expense_journal_unexported" 出力状況
|
payment_method | string (PaymentMethodEnum) Enum: "bank_transfer" "direct_debit" "credit_card" "cash" "check" "promissory_note" "densai" "international_transfer" "other" 支払方法
|
department_code | string <= 30 characters 部門コード |
include_sub_departments | bool 下位部門フラグ trueの場合、部門コードに指定した部門の下位部門も検索結果に含める |
page | number ページ数 |
{- "count": 0,
- "next": "string",
- "previous": "string",
- "results": [
- {
- "invoice_id": "string"
}
]
}
invox_company_code required | string <= 30 characters 企業ID |
invoice_id required | string <= 45 characters 請求書ID |
include_journal_info | bool trueの場合、responseに仕訳情報を含める |
{- "invoice_id": "string",
- "supplier_code": "string",
- "corporate_tax_no": "string",
- "department_code": "string",
- "project_code": "string",
- "staff_code": "string",
- "extension_param1": "string",
- "extension_param2": "string",
- "extension_param3": "string",
- "extension_param4": "string",
- "extension_param5": "string",
- "construction_type": "string",
- "voucher_no": "string",
- "invoice_date": "2024/01/01",
- "payment_due_date": "2024/01/01",
- "payment_plan_date": "2024/01/01",
- "currency_code": "str",
- "amt_invoice": 999999999999.999,
- "amt_taxin10": 999999999999.999,
- "amt_tax10": 999999999999.999,
- "amt_taxin8": 999999999999.999,
- "amt_tax8": 999999999999.999,
- "amt_non_taxable": 999999999999.999,
- "amt_un_taxable": 999999999999.999,
- "amt_withholding_tax": 999999999999.999,
- "memo": "string",
- "title": "string",
- "invoice_no": "string",
- "post_code": "string",
- "address": "string",
- "payment_info": {
- "payment_method": "bank_transfer",
- "bank_transfer": {
- "trans_fee_charge": "sender",
- "bank_code": "string",
- "bank_branch_code": "string",
- "bank_account_type": "savings",
- "bank_account_holder": "string",
- "bank_account_no": "string",
- "payment_amt": 999999999999.999
}
}, - "appr_path_id": 0,
- "journal_info": {
- "posting_date": "2024/01/01",
- "currency_code": "str",
- "summary": "string",
- "details": [
- {
- "debit_account_code": "string",
- "debit_sub_account_code": "string",
- "debit_tax_type_code": "string",
- "debit_tax_rate": 99999999999.9999,
- "debit_department_code": "string",
- "debit_amt_taxin": 999999999999.999,
- "debit_amt_taxout": 999999999999.999,
- "debit_amt_tax": 999999999999.999,
- "credit_account_code": "string",
- "credit_sub_account_code": "string",
- "credit_tax_type_code": "string",
- "credit_tax_rate": 99999999999.9999,
- "credit_department_code": "string",
- "credit_amt_taxin": 999999999999.999,
- "credit_amt_taxout": 999999999999.999,
- "credit_amt_tax": 999999999999.999,
- "project_code": "string",
- "supplier_code": "string",
- "construction_type": "string",
- "summary": "string",
- "extension_selection1": "string",
- "extension_selection2": "string",
- "extension_selection3": "string",
- "extension_selection4": "string",
- "extension_selection5": "string",
- "extension_selection6": "string",
- "extension_selection7": "string",
- "extension_selection8": "string",
- "extension_selection9": "string",
- "extension_param1": "string",
- "extension_param2": "string",
- "extension_param3": "string"
}
]
}
}
invox_company_code required | string <= 30 characters 企業ID | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
invoice_id required | string <= 45 characters 請求ID | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
add_memo | bool メモ追記フラグ trueの場合、メモを追記する | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
recreate_journal | bool 再仕訳フラグ trueの場合、仕訳を再生成する。指定されていない場合はfalse | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
required | object | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
{- "invox_company_code": "string",
- "invoice_id": "string",
- "add_memo": null,
- "recreate_journal": null,
- "invoice": {
- "department_code": "string",
- "project_code": "string",
- "staff_code": "string",
- "extension_param1": "string",
- "extension_param2": "string",
- "extension_param3": "string",
- "extension_param4": "string",
- "extension_param5": "string",
- "construction_type": "string",
- "voucher_no": "string",
- "invoice_date": "2019-08-24",
- "payment_due_date": "2019-08-24",
- "payment_plan_date": "2019-08-24",
- "currency_code": "str",
- "amt_invoice": 999999999999.999,
- "amt_taxin10": 999999999999.999,
- "amt_tax10": 999999999999.999,
- "amt_taxin8": 999999999999.999,
- "amt_tax8": 999999999999.999,
- "amt_non_taxable": 999999999999.999,
- "amt_un_taxable": 999999999999.999,
- "amt_withholding_tax": 999999999999.999,
- "memo": "string",
- "title": "string",
- "invoice_no": "string",
- "exclude_export_invoice": true,
- "exclude_export_payment": true,
- "exclude_export_expense_journal": true
}
}
{ }
invox_company_code required | string <= 30 characters 企業ID | ||
invoice_id required | string <= 45 characters 請求ID | ||
journal_type required | string 仕訳種別
| ||
object | |||
|
{- "invox_company_code": "string",
- "invoice_id": "string",
- "journal_type": "string",
- "journal": {
- "posting_date": "2019-08-24"
}
}
{ }
API経由でワークフローの申請を行う場合、以下の制限があります。
invox_company_code required | string <= 30 characters 企業ID |
invoice_id required | string <= 45 characters 請求書ID |
appr_path_id | number 承認パスID |
staff_code required | string <= 30 characters 申請スタッフコード |
{- "invox_company_code": "string",
- "invoice_id": "string",
- "appr_path_id": 0,
- "staff_code": "string"
}
{ }
APIの接続用ユーザに設定の編集権限があるかどうかで承認されるステップが異なります。
また、以下の制限があります。
invox_company_code required | string <= 30 characters 企業ID |
invoice_id required | string <= 45 characters 請求書ID |
approve_task_name required | string <= 250 characters 承認タスク名 |
appr_path_id | number 承認パスID |
{- "invox_company_code": "string",
- "invoice_id": "string",
- "approve_task_name": "string",
- "appr_path_id": 0
}
{ }
請求書の出力状況を出力済みに変更します。 請求書のステータスが「出力待ち」の時のみ変更です。
invox_company_code required | string <= 30 characters 企業ID |
invoice_id required | string <= 45 characters 請求書ID |
export_data_type required | string Enum: "invoice" "payment" "expense_journal" 出力データタイプ
|
{- "invox_company_code": "string",
- "invoice_id": "string",
- "export_data_type": "invoice"
}
{ }
同一の仕入先コードのデータがある場合は更新、ない場合は追加します。
invox_company_code required | string <= 30 characters 企業ID | ||||||||||||||||||||||||||
required | object | ||||||||||||||||||||||||||
|
{- "invox_company_code": "string",
- "supplier": {
- "code": "string",
- "name": "string",
- "exclude_on_digitization": true,
- "company_type": "corporate",
- "is_withholding_tax": true,
- "taxable_type": "taxable",
- "corporate_tax_no": "string",
- "exclude_invoice_check": true,
- "extension_param1": "string",
- "extension_param2": "string",
- "extension_param3": "string",
- "extension_param4": "string",
- "extension_param5": "string"
}
}
{ }
仕入先を削除します。
ただし、未確定の請求書に紐づく仕入先は削除できません。
invox_company_code required | string <= 30 characters 企業ID |
code | string <= 250 characters 仕入先コード |
{- "invox_company_code": "string",
- "code": "string"
}
{ }
同一の支払方法のデータがある場合は更新、ない場合は追加します。
支払設定上書きは、支払設定が0もしくは1つの時のみ成功します。
支払方法が異なる支払設定を上書きする場合、既存の支払設定は削除され、新しい支払設定が追加されます。
invox_company_code required | string <= 30 characters 企業ID | ||||||||||||||
required | object | ||||||||||||||
|
{- "invox_company_code": "string",
- "supplier_payment_method": {
- "supplier_code": "string",
- "payment_method": "bank_transfer",
- "bank_account": {
- "bank_code": "string",
- "bank_branch_code": "string",
- "bank_account_type": "savings",
- "bank_account_holder": "string",
- "bank_account_no": "string",
- "trans_fee_charge": "sender"
}, - "is_overwrite": true,
- "link_trade_setting": true,
- "trade_setting_department_code": "string",
- "trade_setting_project_code": "string"
}
}
{ }
同一のメールアドレスのデータがある場合は更新、ない場合は追加します。
invox_company_code | string <= 30 characters 企業ID | ||||||||||
object | |||||||||||
|
{- "invox_company_code": "string",
- "staff": {
- "mail_address": "string",
- "name": "string",
- "code": "string",
- "department_and_positions": [
- {
- "department_code": "string",
- "position_code": "string"
}
], - "staff_auth": {
- "use_service_invoice_receive": true,
- "invoice_receive": {
- "data_access_auth": "string",
- "upload_auth": "string",
- "upload_setting_auth": "string",
- "purchase_order_auth": "string",
- "invoice_auth": "string",
- "supplier_auth": "string",
- "export_auth": "string",
- "report_auth": "string",
- "setting_auth": "string"
}, - "use_service_invoice_issue": true,
- "invoice_issue": {
- "data_access_auth": "string",
- "upload_auth": "string",
- "upload_setting_auth": "string",
- "invoice_auth": "string",
- "send_auth": "string",
- "deposit_auth": "string",
- "client_auth": "string",
- "export_auth": "string",
- "report_auth": "string",
- "setting_auth": "string"
}, - "use_service_expense": true,
- "expense": {
- "data_access_auth": "string",
- "expense_report_auth": "string",
- "journal_auth": "string",
- "export_auth": "string",
- "report_auth": "string",
- "setting_auth": "string"
}, - "use_service_e_storage": true,
- "e_storage": {
- "data_access_auth": "string",
- "report_auth": "string",
- "setting_auth": "string",
- "bulk_upload_auth": "string",
- "bulk_upload_setting_auth": "string"
}
}
}
}
{ }
スタッフを削除します。
invox_company_code required | string <= 30 characters 企業ID |
mail_address required | string <= 250 characters |
{- "invox_company_code": "string",
- "mail_address": "string"
}
{ }
同一の部門コードのデータがある場合は更新、ない場合は追加します。
invox_company_code required | string <= 30 characters 企業ID | ||||||||||||
required | Array of objects | ||||||||||||
Array
|
{- "invox_company_code": "string",
- "departments": [
- {
- "parent_code": "string",
- "code": "string",
- "name": "string",
- "is_indirect": true,
- "invoice_staff_code": "string",
- "memo": "string"
}
]
}
{ }
部門を削除します。
invox_company_code required | string <= 30 characters 企業ID |
code required | string <= 30 characters 部門コード |
{- "invox_company_code": "string",
- "code": "string"
}
{ }
同一コードのプロジェクトがある場合は更新、ない場合は追加します。
invox_company_code required | string <= 30 characters 企業ID | ||||||||||||||||||||
required | object | ||||||||||||||||||||
|
{- "invox_company_code": "string",
- "project": {
- "code": "string",
- "name": "string",
- "is_indirect": true,
- "department_code": "string",
- "primary_staff_code": "string",
- "secondary_staff_code": "string",
- "amt_order": 999999999999.999,
- "start_date": "2019-08-24",
- "end_date": "2019-08-24",
- "memo": "string"
}
}
{ }
プロジェクトを削除します。
invox_company_code required | string <= 30 characters 企業ID |
code required | string <= 30 characters プロジェクトコード |
{- "invox_company_code": "string",
- "code": "string"
}
{ }
同一コードのデータがある場合は更新、ない場合は追加します。 汎用マスタグループは事前に作成しておく必要があります。
invox_company_code required | string <= 30 characters 企業ID | ||||||
grp_code required | string <= 30 characters 汎用マスタグループコード | ||||||
required | Array of objects 汎用マスタの配列 | ||||||
Array
| |||||||
delete_not_in_masters | bool 含まれないマスタの削除フラグ trueの場合、mastersに含まれていなかったデータを削除する |
{- "invox_company_code": "string",
- "grp_code": "string",
- "masters": [
- {
- "code": "string",
- "name": "string",
- "memo": "string"
}
], - "delete_not_in_masters": null
}
{ }
invox_company_code required | string <= 30 characters 企業ID |
grp_code required | string <= 30 characters 汎用マスタグループコード |
code required | string <= 30 characters 汎用マスタコード |
{- "invox_company_code": "string",
- "grp_code": "string",
- "code": "string"
}
{ }
同一コードの勘定科目がある場合は更新、ない場合は追加します。
invox_company_code | string <= 30 characters 企業ID | ||||||||||||||||||||||||||||||||||||||
object | |||||||||||||||||||||||||||||||||||||||
|
{- "invox_company_code": "string",
- "account": {
- "code": "string",
- "name": "string",
- "type": "string",
- "tax_type_code": "string",
- "search_key": "string",
- "order": 0,
- "use_sub_account": "string",
- "use_department": "string",
- "use_project": "string",
- "use_supplier": "string",
- "use_extension_selection1": "string",
- "use_extension_selection2": "string",
- "use_extension_selection3": "string",
- "use_extension_selection4": "string",
- "use_extension_selection5": "string",
- "use_extension_selection6": "string",
- "use_extension_selection7": "string",
- "use_extension_selection8": "string",
- "use_extension_selection9": "string"
}
}
{ }
勘定科目を削除します。
invox_company_code required | string <= 30 characters 企業ID |
code required | string <= 30 characters コード |
{- "invox_company_code": "string",
- "code": "string"
}
{ }
同一コードの補助勘定科目がある場合は更新、ない場合は追加します。
invox_company_code required | string <= 30 characters 企業ID | ||||||||||
account_code required | string <= 30 characters 親勘定科目コード | ||||||||||
required | object | ||||||||||
|
{- "invox_company_code": "string",
- "account_code": "string",
- "sub_account": {
- "code": "string",
- "name": "string",
- "tax_type_code": "string",
- "search_key": "string",
- "order": 0
}
}
{ }
補助勘定科目を削除します。
invox_company_code required | string <= 30 characters 企業ID |
account_code required | string <= 30 characters 親勘定科目コード |
code required | string <= 30 characters 補助科目コード |
{- "invox_company_code": "string",
- "account_code": "string",
- "code": "string"
}
{ }
invox_company_code required | string <= 30 characters 企業ID | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
skip_user_confirm_when_no_warnings_or_errors | boolean or null Default: false 自動確定可否 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
required | object 請求情報 ユーザー定義項目は請求項目設定に従い入力してください | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
object or null 送付情報 未入力時は「得意先取引設定」に従います | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
required | Array of objects 請求明細 請求明細項目設定に基づいて入力してください | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array
|
{- "invox_company_code": "string",
- "skip_user_confirm_when_no_warnings_or_errors": false,
- "issue_invoice": {
- "invoice_date": "string",
- "invoice_no": "string",
- "title": "string",
- "client_code": "string",
- "department_code": "string",
- "project_code": "string",
- "staff_code": "string",
- "payment_due_date": "string",
- "note": "string",
- "memo": "string",
- "tags": null,
- "amt_entry_mode": "taxin",
- "exclude_clearing": false,
- "amt_previous_invoice": 999999999999.999,
- "amt_deposit": 999999999999.999,
- "currency_code": "JPY",
- "exclude_journal_export": false,
- "custom_field_value1": "string",
- "custom_field_value2": "string",
- "custom_field_value3": "string",
- "custom_field_value4": "string",
- "custom_field_value5": "string",
- "custom_field_value6": "string",
- "custom_field_value7": "string",
- "custom_field_value8": "string",
- "custom_field_value9": "string",
- "custom_field_value10": "string",
- "custom_field_value11": "string",
- "custom_field_value12": "string",
- "custom_field_value13": "string",
- "custom_field_value14": "string",
- "custom_field_value15": "string",
- "custom_field_value16": "string",
- "custom_field_value17": "string",
- "custom_field_value18": "string",
- "custom_field_value19": "string",
- "custom_field_value20": "string"
}, - "issue_invoice_sending": {
- "sending_method": "email",
- "send_address1": "string",
- "send_address2": "string",
- "send_address3": "string",
- "send_address4": "string",
- "send_address5": "string",
- "email_to_address": "string",
- "email_cc_address": "string",
- "email_bcc_address": "string",
- "email_reply_to": "string",
- "receiver_post_code": "string",
- "receiver_state": "string",
- "receiver_city": "string",
- "receiver_address_line1": "string",
- "receiver_address_line2": "string",
- "receiver_address_line3": "string",
- "receiver_company_name": "string",
- "receiver_department_name": "string",
- "receiver_position": "string",
- "receiver_person_in_charge": "string",
- "receiver_honorific_title": "strin",
- "exclude_sending": false,
- "fax_number": "string"
}, - "issue_invoice_details": [
- {
- "item_no": "string",
- "item_name": "string",
- "quantity": 999999999999,
- "quantity_unit": "string",
- "unit_price": 999999999999,
- "tax_kind": "standard10",
- "withholding_tax_required": false,
- "amt_tax": 999999999999.999,
- "group_start_mark": false,
- "amt_withholding_tax": 999999999999.999,
- "custom_field_value1": "string",
- "custom_field_value2": "string",
- "custom_field_value3": "string",
- "custom_field_value4": "string",
- "custom_field_value5": "string",
- "custom_field_value6": "string",
- "custom_field_value7": "string",
- "custom_field_value8": "string",
- "custom_field_value9": "string",
- "custom_field_value10": "string"
}
]
}
{- "issue_invoice_id": "string",
- "url": "string"
}
invox_company_code required | string <= 30 characters 企業ID |
issue_invoice_id required | string <= 45 characters 請求書ID |
file required | binary 添付ファイル |
attach_when_sending | boolean or null Default: false 請求書送付時添付フラグ
|
{ }
以下の場合には、指定された値は無視されて、登録処理が継続されます。
必須項目以外は、不適切な値の場合(型の不一致、フォーマットが不適切など)
マスタ参照を行う項目(対象は以下項目)は、一意にデータを特定できない場合
対象項目:取引コード、取引名、通貨コード、部門コード、部門名、プロジェクトコード、プロジェクト名、担当者コード、担当者名、タグ名、拡張項目(汎用マスタの場合)
invox_company_code required | string <= 30 characters 企業ID | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
object | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
{- "invox_company_code": "string",
- "e_storage": {
- "doc_type": "string",
- "entry_method": "user",
- "file_name": "string",
- "file_content": "string",
- "transaction_code": "string",
- "transaction_name": "string",
- "partner_name": "string",
- "corporate_tax_no": "string",
- "transaction_amount": "string",
- "currency_code": "JPY",
- "transaction_date": "string",
- "department_code": "string",
- "department_name": "string",
- "project_code": "string",
- "project_name": "string",
- "staff_code": "string",
- "staff_name": "string",
- "tag": "string",
- "tags": [
- "string"
], - "voucher_number": "string",
- "extension_param1": "string",
- "extension_param2": "string",
- "extension_param3": "string",
- "extension_param4": "string",
- "extension_param5": "string",
- "extension_param6": "string",
- "extension_param7": "string",
- "extension_param8": "string",
- "extension_param9": "string",
- "extension_param10": "string"
}
}
{- "id": "string",
- "url": "string"
}
請求書一覧取得APIで、export_statusにexpense_journal_unexported(費用計上仕訳未出力)を指定して、確定済みかつ仕訳データ未出力の請求データの一覧を取得します。
請求書取得APIで、1.で取得した請求IDと、include_journal_infoにtrueを指定して、請求データと仕訳データを取得します。
2.で取得した仕訳データを別システムへ連携します。
請求書出力済み設定APIに請求IDと、export_data_typeにexpense_journalを指定して、出力済みとします。
import base64
import json
import requests
def main():
headers = {
"Authorization": "Bearer {アクセストークン}",
"content-type": "application/json",
}
# 1. 連携対象の請求IDの一覧を取得
# (ページングの考慮はしていません。)
list_url = "https://api.invox.jp/api/public/invoice_receive/invoice/list"
list_params = {
"invox_company_code": "{企業ID}",
"export_status": "expense_journal_unexported",
}
list_result = requests.get(list_url, params=list_params, headers=headers)
for item in list_result.json()["results"]:
# 2. 対象の請求書の仕訳データを取得
get_url = "https://api.invox.jp/api/public/invoice_receive/invoice/get"
get_params = {
"invox_company_code": "{企業ID}",
"invoice_id": item["invoice_id"],
"include_journal_info": True,
}
get_result = requests.get(get_url, params=get_params, headers=headers)
# 3. 仕訳データを連携する
# (ここでは例として、標準出力しています。)
print(get_result.json().get("journal_info"))
# 4. 出力済みに設定
set_exported_url = "https://api.invox.jp/api/public/invoice_receive/invoice/set_exported"
set_exported_params = {
"invox_company_code": "{企業ID}",
"invoice_id": item["invoice_id"],
"export_data_type": "expense_journal",
}
requests.post(set_exported_url, data=json.dumps(set_exported_params), headers=headers)
if __name__ == "__main__":
main()