From 845f9a001415c2342a28aeab2b993263079a6360 Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Wed, 4 Nov 2026 16:14:48 +0000 Subject: [PATCH 1/2] ## Python SDK Changes Detected: * `apideck.accounting.credit_notes.update()`: `request.total_amount` **Changed** * `apideck.accounting.payments.update()`: `request` **Changed** * `apideck.accounting.refunds.update()`: `request.total_amount` **Changed** * `apideck.accounting.sales_receipts.update()`: `request.total_amount` **Changed** * `apideck.accounting.bill_payments.update()`: `request` **Changed** * `apideck.accounting.expenses.update()`: `request` **Changed** * `apideck.accounting.projects.update()`: `request.name` **Changed** * `apideck.accounting.expense_categories.update()`: `request.name` **Changed** * `apideck.accounting.expense_reports.update()`: `request` **Changed** --- .speakeasy/gen.lock | 220 ++++++-- .speakeasy/gen.yaml | 2 +- .speakeasy/workflow.lock | 14 +- RELEASES.md | 12 +- .../accountingbillpaymentsupdaterequest.md | 2 +- .../accountingcreditnotesupdaterequest.md | 2 +- ...ccountingexpensecategoriesupdaterequest.md | 2 +- .../accountingexpensereportsupdaterequest.md | 2 +- .../models/accountingexpensesupdaterequest.md | 2 +- .../models/accountingpaymentsupdaterequest.md | 2 +- .../models/accountingprojectsupdaterequest.md | 2 +- docs/models/accountingrefundsupdaterequest.md | 2 +- .../accountingsalesreceiptsupdaterequest.md | 2 +- docs/models/billpaymentupdateinput.md | 32 ++ .../billpaymentupdateinputallocations.md | 11 + .../billpaymentupdateinputallocationtype.md | 16 + .../billpaymentupdateinputbillpaymenttype.md | 13 + docs/models/creditnoteupdateinput.md | 41 ++ .../creditnoteupdateinputcreditnotestatus.md | 16 + .../creditnoteupdateinputcreditnotetype.md | 11 + docs/models/expensecategoryupdateinput.md | 21 + .../expensecategoryupdateinputstatus.md | 11 + docs/models/expensereportupdateinput.md | 37 ++ ...xpensereportupdateinputaccountingperiod.md | 11 + .../expensereportupdateinputapprovedby.md | 11 + .../expensereportupdateinputemployee.md | 11 + docs/models/expensereportupdateinputstatus.md | 16 + docs/models/expenseupdateinput.md | 38 ++ docs/models/expenseupdateinputexpensetype.md | 11 + docs/models/expenseupdateinputpaymenttype.md | 13 + docs/models/expenseupdateinputstatus.md | 12 + docs/models/paymentupdateinput.md | 35 ++ docs/models/projectupdateinput.md | 45 ++ .../models/projectupdateinputbillingmethod.md | 14 + docs/models/projectupdateinputdepartment.md | 11 + .../models/projectupdateinputparentproject.md | 11 + docs/models/projectupdateinputpriority.md | 13 + docs/models/projectupdateinputprojectphase.md | 15 + .../models/projectupdateinputprojectstatus.md | 17 + docs/models/projectupdateinputprojecttype.md | 15 + .../projectupdateinputschedulestatus.md | 13 + docs/models/refundupdateinput.md | 41 ++ docs/models/salesreceiptupdateinput.md | 36 ++ docs/sdks/billpayments/README.md | 16 +- docs/sdks/creditnotes/README.md | 10 +- docs/sdks/expensecategories/README.md | 6 +- docs/sdks/expensereports/README.md | 18 +- docs/sdks/expenses/README.md | 64 +-- docs/sdks/payments/README.md | 8 +- docs/sdks/projects/README.md | 24 +- docs/sdks/refunds/README.md | 6 +- docs/sdks/salesreceipts/README.md | 6 +- pyproject.toml | 2 +- src/apideck_unify/_version.py | 6 +- src/apideck_unify/billpayments.py | 50 +- src/apideck_unify/creditnotes.py | 32 +- src/apideck_unify/expensecategories.py | 24 +- src/apideck_unify/expensereports.py | 114 ++-- src/apideck_unify/expenses.py | 64 ++- src/apideck_unify/models/__init__.py | 147 ++++++ .../models/accounting_billpaymentsupdateop.py | 11 +- .../models/accounting_creditnotesupdateop.py | 8 +- .../accounting_expensecategoriesupdateop.py | 11 +- .../accounting_expensereportsupdateop.py | 11 +- .../models/accounting_expensesupdateop.py | 8 +- .../models/accounting_paymentsupdateop.py | 8 +- .../models/accounting_projectsupdateop.py | 8 +- .../models/accounting_refundsupdateop.py | 8 +- .../accounting_salesreceiptsupdateop.py | 11 +- .../models/billpaymentupdateinput.py | 347 ++++++++++++ .../models/creditnoteupdateinput.py | 333 ++++++++++++ .../models/expensecategoryupdateinput.py | 155 ++++++ .../models/expensereportupdateinput.py | 452 ++++++++++++++++ .../models/expenseupdateinput.py | 353 +++++++++++++ .../models/paymentupdateinput.py | 300 +++++++++++ .../models/projectupdateinput.py | 499 ++++++++++++++++++ src/apideck_unify/models/refundupdateinput.py | 318 +++++++++++ .../models/salesreceiptupdateinput.py | 262 +++++++++ src/apideck_unify/payments.py | 32 +- src/apideck_unify/projects.py | 86 ++- src/apideck_unify/refunds.py | 24 +- src/apideck_unify/salesreceipts.py | 24 +- 82 files changed, 4381 insertions(+), 349 deletions(-) create mode 100644 docs/models/billpaymentupdateinput.md create mode 100644 docs/models/billpaymentupdateinputallocations.md create mode 100644 docs/models/billpaymentupdateinputallocationtype.md create mode 100644 docs/models/billpaymentupdateinputbillpaymenttype.md create mode 100644 docs/models/creditnoteupdateinput.md create mode 100644 docs/models/creditnoteupdateinputcreditnotestatus.md create mode 100644 docs/models/creditnoteupdateinputcreditnotetype.md create mode 100644 docs/models/expensecategoryupdateinput.md create mode 100644 docs/models/expensecategoryupdateinputstatus.md create mode 100644 docs/models/expensereportupdateinput.md create mode 100644 docs/models/expensereportupdateinputaccountingperiod.md create mode 100644 docs/models/expensereportupdateinputapprovedby.md create mode 100644 docs/models/expensereportupdateinputemployee.md create mode 100644 docs/models/expensereportupdateinputstatus.md create mode 100644 docs/models/expenseupdateinput.md create mode 100644 docs/models/expenseupdateinputexpensetype.md create mode 100644 docs/models/expenseupdateinputpaymenttype.md create mode 100644 docs/models/expenseupdateinputstatus.md create mode 100644 docs/models/paymentupdateinput.md create mode 100644 docs/models/projectupdateinput.md create mode 100644 docs/models/projectupdateinputbillingmethod.md create mode 100644 docs/models/projectupdateinputdepartment.md create mode 100644 docs/models/projectupdateinputparentproject.md create mode 100644 docs/models/projectupdateinputpriority.md create mode 100644 docs/models/projectupdateinputprojectphase.md create mode 100644 docs/models/projectupdateinputprojectstatus.md create mode 100644 docs/models/projectupdateinputprojecttype.md create mode 100644 docs/models/projectupdateinputschedulestatus.md create mode 100644 docs/models/refundupdateinput.md create mode 100644 docs/models/salesreceiptupdateinput.md create mode 100644 src/apideck_unify/models/billpaymentupdateinput.py create mode 100644 src/apideck_unify/models/creditnoteupdateinput.py create mode 100644 src/apideck_unify/models/expensecategoryupdateinput.py create mode 100644 src/apideck_unify/models/expensereportupdateinput.py create mode 100644 src/apideck_unify/models/expenseupdateinput.py create mode 100644 src/apideck_unify/models/paymentupdateinput.py create mode 100644 src/apideck_unify/models/projectupdateinput.py create mode 100644 src/apideck_unify/models/refundupdateinput.py create mode 100644 src/apideck_unify/models/salesreceiptupdateinput.py diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 18c857e9e..b57a185f2 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,12 +1,12 @@ lockVersion: 2.0.0 id: fca0ac3a-5f4e-452c-bbc7-2311afa8da40 management: - docChecksum: ee22593055f1c1ecb2ce810e5db1b8f1 - docVersion: 10.76.0 + docChecksum: 1aab6049ef6bf2a91ef4f9c65c5df3b6 + docVersion: 10.77.0 speakeasyVersion: 1.656.1 generationVersion: 2.753.1 - releaseVersion: 0.55.0 - configChecksum: f93350fc8265800aa24dbf4fb1d72549 + releaseVersion: 0.56.0 + configChecksum: f2373bf8fe005e84ab4e17217e9bd4b6 repoURL: https://github.com/apideck-libraries/sdk-python.git installationURL: https://github.com/apideck-libraries/sdk-python.git published: true @@ -826,6 +826,10 @@ generatedFiles: - docs/models/billpaymentcreateinputbillpaymenttype.md - docs/models/billpaymentinput.md - docs/models/billpaymenttype.md + - docs/models/billpaymentupdateinput.md + - docs/models/billpaymentupdateinputallocations.md + - docs/models/billpaymentupdateinputallocationtype.md + - docs/models/billpaymentupdateinputbillpaymenttype.md - docs/models/billsfilter.md - docs/models/billsfilterstatus.md - docs/models/billssort.md @@ -1010,6 +1014,9 @@ generatedFiles: - docs/models/creditnotessortby.md - docs/models/creditnotestatus.md - docs/models/creditnotetype.md + - docs/models/creditnoteupdateinput.md + - docs/models/creditnoteupdateinputcreditnotestatus.md + - docs/models/creditnoteupdateinputcreditnotetype.md - docs/models/creditordebit.md - docs/models/crmactivitiesaddglobals.md - docs/models/crmactivitiesaddrequest.md @@ -1363,6 +1370,8 @@ generatedFiles: - docs/models/expensecategory.md - docs/models/expensecategoryinput.md - docs/models/expensecategorystatus.md + - docs/models/expensecategoryupdateinput.md + - docs/models/expensecategoryupdateinputstatus.md - docs/models/expenseinput.md - docs/models/expenselineitem.md - docs/models/expenselineiteminput.md @@ -1375,12 +1384,21 @@ generatedFiles: - docs/models/expensereportsfilter.md - docs/models/expensereportsfilterstatus.md - docs/models/expensereportstatus.md + - docs/models/expensereportupdateinput.md + - docs/models/expensereportupdateinputaccountingperiod.md + - docs/models/expensereportupdateinputapprovedby.md + - docs/models/expensereportupdateinputemployee.md + - docs/models/expensereportupdateinputstatus.md - docs/models/expensesfilter.md - docs/models/expensesfilterstatus.md - docs/models/expensesfiltertype.md - docs/models/expensesmodel.md - docs/models/expensestatus.md - docs/models/expensetype.md + - docs/models/expenseupdateinput.md + - docs/models/expenseupdateinputexpensetype.md + - docs/models/expenseupdateinputpaymenttype.md + - docs/models/expenseupdateinputstatus.md - docs/models/extendpaths.md - docs/models/externalguides.md - docs/models/feedstatus.md @@ -1987,6 +2005,7 @@ generatedFiles: - docs/models/paymentstatus.md - docs/models/paymenttype.md - docs/models/paymentunit.md + - docs/models/paymentupdateinput.md - docs/models/payroll.md - docs/models/payrollsfilter.md - docs/models/payrolltotals.md @@ -2018,6 +2037,15 @@ generatedFiles: - docs/models/projectssortsortby.md - docs/models/projectstatus.md - docs/models/projecttype.md + - docs/models/projectupdateinput.md + - docs/models/projectupdateinputbillingmethod.md + - docs/models/projectupdateinputdepartment.md + - docs/models/projectupdateinputparentproject.md + - docs/models/projectupdateinputpriority.md + - docs/models/projectupdateinputprojectphase.md + - docs/models/projectupdateinputprojectstatus.md + - docs/models/projectupdateinputprojecttype.md + - docs/models/projectupdateinputschedulestatus.md - docs/models/proxydeleteproxyglobals.md - docs/models/proxydeleteproxyrequest.md - docs/models/proxydeleteproxyresponse.md @@ -2063,6 +2091,7 @@ generatedFiles: - docs/models/refundssortby.md - docs/models/refundstatus.md - docs/models/refundtype.md + - docs/models/refundupdateinput.md - docs/models/reports.md - docs/models/request.md - docs/models/requestbody1.md @@ -2085,6 +2114,7 @@ generatedFiles: - docs/models/salesreceiptsfilter.md - docs/models/salesreceiptssort.md - docs/models/salesreceiptssortby.md + - docs/models/salesreceiptupdateinput.md - docs/models/schedule.md - docs/models/schedulestatus.md - docs/models/schema.md @@ -2867,6 +2897,7 @@ generatedFiles: - src/apideck_unify/models/billlineitem_input.py - src/apideck_unify/models/billpayment.py - src/apideck_unify/models/billpaymentcreateinput.py + - src/apideck_unify/models/billpaymentupdateinput.py - src/apideck_unify/models/billsfilter.py - src/apideck_unify/models/billssort.py - src/apideck_unify/models/categoriesfilter.py @@ -2989,6 +3020,7 @@ generatedFiles: - src/apideck_unify/models/creditnotecreateinput.py - src/apideck_unify/models/creditnotesfilter.py - src/apideck_unify/models/creditnotessort.py + - src/apideck_unify/models/creditnoteupdateinput.py - src/apideck_unify/models/creditordebit.py - src/apideck_unify/models/crm_activitiesaddop.py - src/apideck_unify/models/crm_activitiesallop.py @@ -3160,13 +3192,16 @@ generatedFiles: - src/apideck_unify/models/expense.py - src/apideck_unify/models/expensecategoriesfilter.py - src/apideck_unify/models/expensecategory.py + - src/apideck_unify/models/expensecategoryupdateinput.py - src/apideck_unify/models/expenselineitem.py - src/apideck_unify/models/expenselineitem_input.py - src/apideck_unify/models/expensereport.py - src/apideck_unify/models/expensereportlineitem.py - src/apideck_unify/models/expensereportlineitem_input.py - src/apideck_unify/models/expensereportsfilter.py + - src/apideck_unify/models/expensereportupdateinput.py - src/apideck_unify/models/expensesfilter.py + - src/apideck_unify/models/expenseupdateinput.py - src/apideck_unify/models/filesfilter.py - src/apideck_unify/models/filessearch.py - src/apideck_unify/models/filessort.py @@ -3522,6 +3557,7 @@ generatedFiles: - src/apideck_unify/models/paymentstatus.py - src/apideck_unify/models/paymenttype.py - src/apideck_unify/models/paymentunit.py + - src/apideck_unify/models/paymentupdateinput.py - src/apideck_unify/models/payroll.py - src/apideck_unify/models/payrollsfilter.py - src/apideck_unify/models/payrolltotals.py @@ -3537,6 +3573,7 @@ generatedFiles: - src/apideck_unify/models/project.py - src/apideck_unify/models/projectsfilter.py - src/apideck_unify/models/projectssort.py + - src/apideck_unify/models/projectupdateinput.py - src/apideck_unify/models/proxy_deleteproxyop.py - src/apideck_unify/models/proxy_getproxyop.py - src/apideck_unify/models/proxy_optionsproxyop.py @@ -3556,6 +3593,7 @@ generatedFiles: - src/apideck_unify/models/refundssort.py - src/apideck_unify/models/refundstatus.py - src/apideck_unify/models/refundtype.py + - src/apideck_unify/models/refundupdateinput.py - src/apideck_unify/models/requestcountallocation.py - src/apideck_unify/models/resourcestatus.py - src/apideck_unify/models/responsevalidationerror.py @@ -3565,6 +3603,7 @@ generatedFiles: - src/apideck_unify/models/salesreceipt_input.py - src/apideck_unify/models/salesreceiptsfilter.py - src/apideck_unify/models/salesreceiptssort.py + - src/apideck_unify/models/salesreceiptupdateinput.py - src/apideck_unify/models/schedule.py - src/apideck_unify/models/schemasupport.py - src/apideck_unify/models/security.py @@ -21488,6 +21527,17 @@ examples: application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} examplesVersion: 1.0.2 generatedTests: {} +releaseNotes: | + ## Python SDK Changes Detected: + * `apideck.accounting.credit_notes.update()`: `request.total_amount` **Changed** + * `apideck.accounting.payments.update()`: `request` **Changed** + * `apideck.accounting.refunds.update()`: `request.total_amount` **Changed** + * `apideck.accounting.sales_receipts.update()`: `request.total_amount` **Changed** + * `apideck.accounting.bill_payments.update()`: `request` **Changed** + * `apideck.accounting.expenses.update()`: `request` **Changed** + * `apideck.accounting.projects.update()`: `request.name` **Changed** + * `apideck.accounting.expense_categories.update()`: `request.name` **Changed** + * `apideck.accounting.expense_reports.update()`: `request` **Changed** trackedFiles: .devcontainer/README.md: last_write_checksum: sha1:07adb0c0c051a9be4d479ea06461f3a9b3bbeb2f @@ -21716,7 +21766,7 @@ trackedFiles: docs/models/accountingbillpaymentsupdateglobals.md: last_write_checksum: sha1:8a1fbe647f916c6eb1dbab813c929a8f3d8d78fd docs/models/accountingbillpaymentsupdaterequest.md: - last_write_checksum: sha1:8ca43c5f94db03224a4a61e16aa8d845c07b7a69 + last_write_checksum: sha1:8c29e7c04b23d291e96d58f5741ce01a70f886e4 docs/models/accountingbillpaymentsupdateresponse.md: last_write_checksum: sha1:ce46a6f42376a47136346a773a49ba28bfbca703 docs/models/accountingbillsaddglobals.md: @@ -21814,7 +21864,7 @@ trackedFiles: docs/models/accountingcreditnotesupdateglobals.md: last_write_checksum: sha1:caa9541775092318575d4882a9cc0ce66e240a24 docs/models/accountingcreditnotesupdaterequest.md: - last_write_checksum: sha1:d54df23bb06c5e33286cce321cf3062317f2cef0 + last_write_checksum: sha1:bd2630f961faa9625a685f444e016414b4588e0e docs/models/accountingcreditnotesupdateresponse.md: last_write_checksum: sha1:fc62f9297c9a66ea327279b0b820be3a4bd958b5 docs/models/accountingcustomersaddglobals.md: @@ -21956,7 +22006,7 @@ trackedFiles: docs/models/accountingexpensecategoriesupdateglobals.md: last_write_checksum: sha1:735b4f2c49f9c46e22c97507170e0ec327fc5ae6 docs/models/accountingexpensecategoriesupdaterequest.md: - last_write_checksum: sha1:b30d1e96e5a8fba46d096b53e09343d64bf34c7e + last_write_checksum: sha1:e705bbb0dcefd1e1b818a530fe57f5ce3e04c1e7 docs/models/accountingexpensecategoriesupdateresponse.md: last_write_checksum: sha1:4497c57d9a29229dddf22b982beb177129d0ee6c docs/models/accountingexpensereportsaddglobals.md: @@ -21986,7 +22036,7 @@ trackedFiles: docs/models/accountingexpensereportsupdateglobals.md: last_write_checksum: sha1:5acc3a4048f18b5785c78968bb95dbab7cc5aa9d docs/models/accountingexpensereportsupdaterequest.md: - last_write_checksum: sha1:ed254b1bb2de2a1c681cb991ddb0c06951a2956a + last_write_checksum: sha1:e26557c97e3e2e470882d18dfa4cc96803650ec1 docs/models/accountingexpensereportsupdateresponse.md: last_write_checksum: sha1:6d5302fdecea7094ae6f5db998a8d3159010d78e docs/models/accountingexpensesaddglobals.md: @@ -22016,7 +22066,7 @@ trackedFiles: docs/models/accountingexpensesupdateglobals.md: last_write_checksum: sha1:7e5728aa32fc1eb7114bc88cde0d2c8c22207b62 docs/models/accountingexpensesupdaterequest.md: - last_write_checksum: sha1:649afc75e803cce6376bbed159716fe8895b06f1 + last_write_checksum: sha1:19183480ab9ce218c19d773ed7124a155f3d730c docs/models/accountingexpensesupdateresponse.md: last_write_checksum: sha1:a0abf9ee705650d2635889c9e4290e4e62224020 docs/models/accountingfiscalperiodsallglobals.md: @@ -22332,7 +22382,7 @@ trackedFiles: docs/models/accountingpaymentsupdateglobals.md: last_write_checksum: sha1:a0cc628cbacaa17d851d26dc3364b6dc7936df75 docs/models/accountingpaymentsupdaterequest.md: - last_write_checksum: sha1:6ab0e1709dfc04021773f2eaf90c7a88540963fc + last_write_checksum: sha1:355bb256bbb25ae8014af9660847fde4f4de45c8 docs/models/accountingpaymentsupdateresponse.md: last_write_checksum: sha1:a0278bd0a78245f1c822a810f0d9b2b0984145a9 docs/models/accountingperiod.md: @@ -22370,7 +22420,7 @@ trackedFiles: docs/models/accountingprojectsupdateglobals.md: last_write_checksum: sha1:4d85b1d482f54e712d541375df25226ab014aa35 docs/models/accountingprojectsupdaterequest.md: - last_write_checksum: sha1:7b4cfeb1de9462a4049c78365e44735b0a9a9009 + last_write_checksum: sha1:07b4af1aca9575fc923216149fa247836c27a8a8 docs/models/accountingprojectsupdateresponse.md: last_write_checksum: sha1:9bb77e35709ec8661d68f56b621019fe4c34d3a9 docs/models/accountingpurchaseordersaddglobals.md: @@ -22460,7 +22510,7 @@ trackedFiles: docs/models/accountingrefundsupdateglobals.md: last_write_checksum: sha1:d21f5a5e74f52d073539038b2278c34823d8684b docs/models/accountingrefundsupdaterequest.md: - last_write_checksum: sha1:712ad48af3b704b5749f357dd2992d5c762ec573 + last_write_checksum: sha1:dacf93541e48a2f552769b12070f487e9895f7da docs/models/accountingrefundsupdateresponse.md: last_write_checksum: sha1:678f3673a94cde429faa5179b81b7765caa6649e docs/models/accountingsalesordersaddglobals.md: @@ -22520,7 +22570,7 @@ trackedFiles: docs/models/accountingsalesreceiptsupdateglobals.md: last_write_checksum: sha1:1cf2b38c4a242a6de9fdcc30aac72e165f3800f4 docs/models/accountingsalesreceiptsupdaterequest.md: - last_write_checksum: sha1:bc7918fc286e44e742d01fc6338ade15988785c0 + last_write_checksum: sha1:3be70f603befcd99844196e9a5304d6854999268 docs/models/accountingsalesreceiptsupdateresponse.md: last_write_checksum: sha1:8c0a8a3ed70d751d5f06d8b78638765f722bc50a docs/models/accountingsubsidiariesaddglobals.md: @@ -23047,6 +23097,14 @@ trackedFiles: last_write_checksum: sha1:f3ad5264be0d14eb8dfcdd4a156b06c5abed4a64 docs/models/billpaymenttype.md: last_write_checksum: sha1:f13abce9e8c13c55e827b79f5d569b5423c101f5 + docs/models/billpaymentupdateinput.md: + last_write_checksum: sha1:a4283c42d3cfad37aff5955385bc1a598f04921c + docs/models/billpaymentupdateinputallocations.md: + last_write_checksum: sha1:8d5a107a7822112853e556d57f6f6b371a79d441 + docs/models/billpaymentupdateinputallocationtype.md: + last_write_checksum: sha1:b9f92f9926a30b1f0330d8a0e3ec884a7baff68d + docs/models/billpaymentupdateinputbillpaymenttype.md: + last_write_checksum: sha1:1e6d1961d7c3249352d1852365905334b66fac84 docs/models/billsfilter.md: last_write_checksum: sha1:68119dffda3793b52f9dce27864bfe5a8ffaf6ec docs/models/billsfilterstatus.md: @@ -23415,6 +23473,12 @@ trackedFiles: last_write_checksum: sha1:1faec31112350d09bbb7ba52eb68c7c64d1c48c0 docs/models/creditnotetype.md: last_write_checksum: sha1:fe336d8d4487c90f26ca00431565300a0bd4613a + docs/models/creditnoteupdateinput.md: + last_write_checksum: sha1:d8c2216c104559fd468acfa17d187e68f43d9954 + docs/models/creditnoteupdateinputcreditnotestatus.md: + last_write_checksum: sha1:9fb18c8ab07f6b0e09e5c09aa35562c7cac9a18c + docs/models/creditnoteupdateinputcreditnotetype.md: + last_write_checksum: sha1:70e009ab85f230f7e0411b81711d507044ceb45d docs/models/creditordebit.md: last_write_checksum: sha1:422dfcd066d9425a72370c13aec74a5f93c71bcd docs/models/crmactivitiesaddglobals.md: @@ -24121,6 +24185,10 @@ trackedFiles: last_write_checksum: sha1:81da05e5770bd56ba8bc563ccdff1838f40537eb docs/models/expensecategorystatus.md: last_write_checksum: sha1:caf2ca18dcaedad0ab9d7bb5c74a488696d0b86a + docs/models/expensecategoryupdateinput.md: + last_write_checksum: sha1:adcdcc886f90137429ac0772a1714a64c49b1adb + docs/models/expensecategoryupdateinputstatus.md: + last_write_checksum: sha1:200b3e0101420f074e2bb899c823e6b5673315bb docs/models/expenseinput.md: last_write_checksum: sha1:75ab9a1e071884daf9828ada4f4479a49b8b9589 docs/models/expenselineitem.md: @@ -24145,6 +24213,16 @@ trackedFiles: last_write_checksum: sha1:8f2339fcb79d520c87ca3406153b2144542b9f2f docs/models/expensereportstatus.md: last_write_checksum: sha1:5ad3d9efa944f1ed01c65621e49b03afc29adc2a + docs/models/expensereportupdateinput.md: + last_write_checksum: sha1:4a3a55c7c2a72b897f07d623cb346590e12f1688 + docs/models/expensereportupdateinputaccountingperiod.md: + last_write_checksum: sha1:348f65b95196d0d9223b04bef3c4e802326f0e87 + docs/models/expensereportupdateinputapprovedby.md: + last_write_checksum: sha1:04e979a34962b1a8fedb8a278c768946c87d14b1 + docs/models/expensereportupdateinputemployee.md: + last_write_checksum: sha1:7c46b79fc1e89a98db0809bbf4624ed3381524a0 + docs/models/expensereportupdateinputstatus.md: + last_write_checksum: sha1:f24af7a8d93c941d64e844aeda8c9f2859cc262a docs/models/expensesfilter.md: last_write_checksum: sha1:a49160b91222ffd6a18855ed18866cad6b25dffd docs/models/expensesfilterstatus.md: @@ -24157,6 +24235,14 @@ trackedFiles: last_write_checksum: sha1:b13be026bdba8e8eec2cc8b35bbe33634308f18a docs/models/expensetype.md: last_write_checksum: sha1:d0987ead6a8c1f221ab055fd62639307698bb42a + docs/models/expenseupdateinput.md: + last_write_checksum: sha1:aa0f201321b40774ba5d0bd6d230ef23912ff9d7 + docs/models/expenseupdateinputexpensetype.md: + last_write_checksum: sha1:c2b87ea55ad1f377cf4254d1eb5d63706eafb3a8 + docs/models/expenseupdateinputpaymenttype.md: + last_write_checksum: sha1:57ac272129fccb5a752addfdec1834edc89505d0 + docs/models/expenseupdateinputstatus.md: + last_write_checksum: sha1:1ff7d4d6f984b424500007d734db9b9ce1b60cce docs/models/extendpaths.md: last_write_checksum: sha1:22b4c2dfeba68fe7a4ed1fee747d2b98b65bf33f docs/models/externalguides.md: @@ -25369,6 +25455,8 @@ trackedFiles: last_write_checksum: sha1:285d4ed4f33ac66d15dd9527219fe182fb7b335f docs/models/paymentunit.md: last_write_checksum: sha1:dc26afb5d22afb7c0c1e2ee029c973a39f7339ab + docs/models/paymentupdateinput.md: + last_write_checksum: sha1:089d0c10f82c874241a45a41764ff037fe8ef302 docs/models/payroll.md: last_write_checksum: sha1:edec2dcd1b151c83076afa9118591d540e0df6cf docs/models/payrollsfilter.md: @@ -25431,6 +25519,24 @@ trackedFiles: last_write_checksum: sha1:9767ac7e11f5877f0e3e37705389652763901fa5 docs/models/projecttype.md: last_write_checksum: sha1:a33408294f6733288572b18b93f81ebc1cb1559a + docs/models/projectupdateinput.md: + last_write_checksum: sha1:010728c409a8bb69b0075983d8ad8d1a2c69f04c + docs/models/projectupdateinputbillingmethod.md: + last_write_checksum: sha1:131bf99e6a4bbdd6a62243a425644b051946b6bf + docs/models/projectupdateinputdepartment.md: + last_write_checksum: sha1:f1f1dc72b252724af32b84742a4ce79d2a72fbc1 + docs/models/projectupdateinputparentproject.md: + last_write_checksum: sha1:94a98d723868efbbfd7855f2f422599b15518153 + docs/models/projectupdateinputpriority.md: + last_write_checksum: sha1:5a6b9fb1fb8952ca75ff88e54cdd0d4b9dd50243 + docs/models/projectupdateinputprojectphase.md: + last_write_checksum: sha1:59c2e8ce47e94ac3f62a21fbe3032a5f61cc1995 + docs/models/projectupdateinputprojectstatus.md: + last_write_checksum: sha1:cee0406a864effca69b7fd9d10006c98bd7a6439 + docs/models/projectupdateinputprojecttype.md: + last_write_checksum: sha1:f03a91743025e93841bf1efee6f67a9e36676f4c + docs/models/projectupdateinputschedulestatus.md: + last_write_checksum: sha1:5c4336ae037a85827a5ca7b481006d7c91a9273b docs/models/proxydeleteproxyglobals.md: last_write_checksum: sha1:c16f7d91cb601bda587c2de8d7d9977d2c34ffb7 docs/models/proxydeleteproxyrequest.md: @@ -25521,6 +25627,8 @@ trackedFiles: last_write_checksum: sha1:4730a5415dc75da4b18348c19d1a5b5e2a9e7117 docs/models/refundtype.md: last_write_checksum: sha1:e105fff033833b9daaeb20fa0d9024f0471088ed + docs/models/refundupdateinput.md: + last_write_checksum: sha1:e0ada63447b3b616b3cb1fb5e3e88843defdc751 docs/models/reports.md: last_write_checksum: sha1:fb63b4d156c42f27390a3a349d69a949611c45f5 docs/models/request.md: @@ -25565,6 +25673,8 @@ trackedFiles: last_write_checksum: sha1:cf8f276110d210ace9166cc204a54c73daf12d40 docs/models/salesreceiptssortby.md: last_write_checksum: sha1:3192727a3c47327233213105afde62ab98560689 + docs/models/salesreceiptupdateinput.md: + last_write_checksum: sha1:ffe2a80b38f51b48ae7ba498d7fa430587977284 docs/models/schedule.md: last_write_checksum: sha1:ccc6fd5f3721e9dbdaae3d1f47607f54d793652e docs/models/schedulestatus.md: @@ -26196,7 +26306,7 @@ trackedFiles: docs/sdks/billcreditnotes/README.md: last_write_checksum: sha1:38b72f417bc0afb047d13b4040d518c09ea57c38 docs/sdks/billpayments/README.md: - last_write_checksum: sha1:c4eb7f8792916d330b1908dc851a4e1842db92ff + last_write_checksum: sha1:ad638142973fb28a38066b27bd702d49027a02ac docs/sdks/bills/README.md: last_write_checksum: sha1:34934da01e8d84ce5001302409ce346ea57f116d docs/sdks/categories/README.md: @@ -26240,7 +26350,7 @@ trackedFiles: docs/sdks/createcallback/README.md: last_write_checksum: sha1:906eb56b0ddb57494c26dbc43ff017770df07b66 docs/sdks/creditnotes/README.md: - last_write_checksum: sha1:3c63660ea8960ac69bc7c19d80d4e7976c3dc8aa + last_write_checksum: sha1:880f4d925f09fc51efda66bf1b9c5577f58d6a82 docs/sdks/customers/README.md: last_write_checksum: sha1:4b05791a1b06a639bec9395e320e2438b1bab4a0 docs/sdks/customfields/README.md: @@ -26266,11 +26376,11 @@ trackedFiles: docs/sdks/eventlogs/README.md: last_write_checksum: sha1:a2a4fbc7393de6df2095ac81961aaffea03f2f7a docs/sdks/expensecategories/README.md: - last_write_checksum: sha1:85f2904856dda70609a77b43fa67e77d3076d152 + last_write_checksum: sha1:e1a63da4f799a5e62f655980ff61ecc8bee69b17 docs/sdks/expensereports/README.md: - last_write_checksum: sha1:c1ca02527652a931551ac36cd89238e2438cae97 + last_write_checksum: sha1:e7752d23207a28f64482bc05fc14030a0132bde5 docs/sdks/expenses/README.md: - last_write_checksum: sha1:f748decf00299e345696599932d8318af8159401 + last_write_checksum: sha1:aa4599295985556a0e8ed7aa8405e1aded437a61 docs/sdks/files/README.md: last_write_checksum: sha1:9889b57620ab478df4ea91fb4544bdfff422e73c docs/sdks/fiscalperiods/README.md: @@ -26314,7 +26424,7 @@ trackedFiles: docs/sdks/paymentmethods/README.md: last_write_checksum: sha1:22823ec7b65fa535074dca1090b76679883ac634 docs/sdks/payments/README.md: - last_write_checksum: sha1:13e787fc2c7d41163f4a9e4f9e476f39e6e55122 + last_write_checksum: sha1:d631152b577514303c6ac11c8c1b044f1ab85087 docs/sdks/payrolls/README.md: last_write_checksum: sha1:6ac8986bc3eb1c25eb2fe7070636ad9751c8c585 docs/sdks/pipelines/README.md: @@ -26324,7 +26434,7 @@ trackedFiles: docs/sdks/profitandlosssdk/README.md: last_write_checksum: sha1:d1e7becf00ac178f97ed1eaf988914063cff429c docs/sdks/projects/README.md: - last_write_checksum: sha1:cf777bfcb054a636a16123d1f75cc36d4aecc4cc + last_write_checksum: sha1:2e1ab6bcbbe6c3d2046179d02361d5cec01bf6ef docs/sdks/proxy/README.md: last_write_checksum: sha1:1c0f76a80851bd87fbd73f1db9636c90396f96b0 docs/sdks/purchaseorders/README.md: @@ -26332,11 +26442,11 @@ trackedFiles: docs/sdks/quotes/README.md: last_write_checksum: sha1:f50efc6a9f0b46c2e2ec763968a2dda675bfbe36 docs/sdks/refunds/README.md: - last_write_checksum: sha1:6af751b31ea64bc4ec0839882b7da4d7c062ed9c + last_write_checksum: sha1:6e65ebf13c93151c19bd8e8d30458b3b36bf39ff docs/sdks/salesorders/README.md: last_write_checksum: sha1:f243115ffe100bccb11163e58e23f404b1f6ed3b docs/sdks/salesreceipts/README.md: - last_write_checksum: sha1:b98c1dbbfc87e8743a1a84cf95f11cbbdc0ec2c7 + last_write_checksum: sha1:b7ea47c2b50a940810a4a56797fe797d154f98f7 docs/sdks/sessions/README.md: last_write_checksum: sha1:9c1332fc7b3c3ace6dae6d9e1f127d360135f85c docs/sdks/sharedlinks/README.md: @@ -26370,7 +26480,7 @@ trackedFiles: pylintrc: last_write_checksum: sha1:ec6665a4862060890cf4c6ba61438d11decf5c3c pyproject.toml: - last_write_checksum: sha1:494145d5c6f7f1b23c4059587a746bbccc9c6696 + last_write_checksum: sha1:f85fbd224a79c37aabb085ddf6457543f1ffccb5 scripts/prepare_readme.py: last_write_checksum: sha1:798a05bafe4fbbfff5b67037866fa25efc52f11a scripts/publish.sh: @@ -26384,7 +26494,7 @@ trackedFiles: src/apideck_unify/_hooks/types.py: last_write_checksum: sha1:d57be38e644de01983a9224b9733ae0add898d43 src/apideck_unify/_version.py: - last_write_checksum: sha1:afd4695243190fafddd6e3147cbcfabc66050a71 + last_write_checksum: sha1:12d632d214b3bc0fa5f9b03fa723f9ecc79a6c45 src/apideck_unify/accounting.py: last_write_checksum: sha1:7f9e809f589467dee3bc2719395ce1cdef2d7421 src/apideck_unify/activities.py: @@ -26400,7 +26510,7 @@ trackedFiles: src/apideck_unify/apideck_departments.py: last_write_checksum: sha1:59a81b7d246ffd8a00dbf65a7d660c112548dd74 src/apideck_unify/apideck_employees.py: - last_write_checksum: sha1:2d97564087b06b8840be84cff6b0172a8ed29adf + last_write_checksum: sha1:f3645ee5af43e0c0454bbc397e4138b416cf7403 src/apideck_unify/apideck_hris_companies.py: last_write_checksum: sha1:4a0e3c47bbedbc5fbed2114c9bd520efa4fbae05 src/apideck_unify/apiresourcecoverage_sdk.py: @@ -26430,7 +26540,7 @@ trackedFiles: src/apideck_unify/billcreditnotes.py: last_write_checksum: sha1:56c354107b41b742cc0354cf9d5c3bf58644f455 src/apideck_unify/billpayments.py: - last_write_checksum: sha1:793b507a75a7c6295b40de1de208827c8f89244b + last_write_checksum: sha1:61b5c343917b7fb84a43a1c4714a8858da410077 src/apideck_unify/bills.py: last_write_checksum: sha1:2d0da455c619679c7fb0dc6259d560d4fbacf1e5 src/apideck_unify/categories.py: @@ -26476,7 +26586,7 @@ trackedFiles: src/apideck_unify/createcallback.py: last_write_checksum: sha1:fa6cddb89b59b3890fbc0a06c4b7730e91e76f2e src/apideck_unify/creditnotes.py: - last_write_checksum: sha1:3c4a31322ad32efe9da0ed69d963329e81506496 + last_write_checksum: sha1:ec6b67715b115dce97453d2a948f24172b627a04 src/apideck_unify/crm.py: last_write_checksum: sha1:0a3f32ca2265dd9bf40c9b5c0373685dab9e5da6 src/apideck_unify/customers.py: @@ -26506,11 +26616,11 @@ trackedFiles: src/apideck_unify/eventlogs.py: last_write_checksum: sha1:d1729709f928d9c708ff4d4eb825cb98c5423f1f src/apideck_unify/expensecategories.py: - last_write_checksum: sha1:8fe0fa088b4b364ce8b9ef7a32cdde9050caf4ca + last_write_checksum: sha1:b2770ea00eb14d3948c9a4c36fcb13b975e739d3 src/apideck_unify/expensereports.py: - last_write_checksum: sha1:3f6f38c22128c7d4c74bb4fe4305a6c7ab1574f9 + last_write_checksum: sha1:2b9d80cd307dd083b2a8307dbf57dd4cf4172259 src/apideck_unify/expenses.py: - last_write_checksum: sha1:ee7092fe810a4c13f525e91f2bde28aaa2eba959 + last_write_checksum: sha1:a5abe18007f54db73da578cb708e9b780ee9e617 src/apideck_unify/files.py: last_write_checksum: sha1:21b25dc08beaf72df1e912f498f65cb5f57846e9 src/apideck_unify/filestorage.py: @@ -26554,7 +26664,7 @@ trackedFiles: src/apideck_unify/messages.py: last_write_checksum: sha1:236641f6bc253c8f2943d4118653a42751001b66 src/apideck_unify/models/__init__.py: - last_write_checksum: sha1:09b20b3f27e1c77a8697ac81be9f7ba5b742c605 + last_write_checksum: sha1:0f6a1f9142e927b5bba6e08d5e3777e9c028dcdc src/apideck_unify/models/accounting_agedcreditorsoneop.py: last_write_checksum: sha1:84bf1980c907ac868efd2e5d54f8649b6263d880 src/apideck_unify/models/accounting_ageddebtorsoneop.py: @@ -26624,7 +26734,7 @@ trackedFiles: src/apideck_unify/models/accounting_billpaymentsoneop.py: last_write_checksum: sha1:ab6ef0cafab679c97f178e251d08cc6e091305ac src/apideck_unify/models/accounting_billpaymentsupdateop.py: - last_write_checksum: sha1:b75c22f7141e7ec35fff7d8fc3c7f26174d4f15f + last_write_checksum: sha1:b36a0cbc532bbc4d8fa43cc67fd46b8dae8aba9e src/apideck_unify/models/accounting_billsaddop.py: last_write_checksum: sha1:316d97d99bb3a935bf6f76b8208d197bbbb71891 src/apideck_unify/models/accounting_billsallop.py: @@ -26656,7 +26766,7 @@ trackedFiles: src/apideck_unify/models/accounting_creditnotesoneop.py: last_write_checksum: sha1:8a477e35e318a6fba9090cc0894c29228a0e362b src/apideck_unify/models/accounting_creditnotesupdateop.py: - last_write_checksum: sha1:9a03df3f7ff80222f742976556090f1749561781 + last_write_checksum: sha1:4b912e3623770d44ff5aaaecc5cd8f1ad1ee8026 src/apideck_unify/models/accounting_customersaddop.py: last_write_checksum: sha1:91ab278b99a7864679026b8fc6b1c965a25abdbc src/apideck_unify/models/accounting_customersallop.py: @@ -26698,7 +26808,7 @@ trackedFiles: src/apideck_unify/models/accounting_expensecategoriesoneop.py: last_write_checksum: sha1:43e64537c6e5d69a730dc04f91b9e76e9bceba5b src/apideck_unify/models/accounting_expensecategoriesupdateop.py: - last_write_checksum: sha1:8f93a85bf3478dd57cd2e2acac2a78c78a8354b4 + last_write_checksum: sha1:aa464c1a0a1f28f2144cfe75651968170cb0d096 src/apideck_unify/models/accounting_expensereportsaddop.py: last_write_checksum: sha1:2087564ed9b07f33bf982e2fbded52a51ef1b781 src/apideck_unify/models/accounting_expensereportsallop.py: @@ -26708,7 +26818,7 @@ trackedFiles: src/apideck_unify/models/accounting_expensereportsoneop.py: last_write_checksum: sha1:20e258683335aa1033a1e2f7a0c59474236d8f91 src/apideck_unify/models/accounting_expensereportsupdateop.py: - last_write_checksum: sha1:7ddc7620e5a8fd32ef2a0d60aab4b5dfa93321e8 + last_write_checksum: sha1:41d4fc566ba378d0c0d56cb61c44c8c40bc4e60a src/apideck_unify/models/accounting_expensesaddop.py: last_write_checksum: sha1:1cb3a41322357dad48d02d864e8210578889b9d0 src/apideck_unify/models/accounting_expensesallop.py: @@ -26718,7 +26828,7 @@ trackedFiles: src/apideck_unify/models/accounting_expensesoneop.py: last_write_checksum: sha1:dfd878c92ffddcb8d3e3f710e9a44920a7e65711 src/apideck_unify/models/accounting_expensesupdateop.py: - last_write_checksum: sha1:9daa85816579881d950e05c40076ed281728a7d3 + last_write_checksum: sha1:cb0191d79ada81889a39e4eda311bc0b2a1f02d0 src/apideck_unify/models/accounting_fiscalperiodsallop.py: last_write_checksum: sha1:d0f0fea66fbc4bfe4c77eccaf496f49bba4e0d1c src/apideck_unify/models/accounting_fiscalperiodsoneop.py: @@ -26818,7 +26928,7 @@ trackedFiles: src/apideck_unify/models/accounting_paymentsoneop.py: last_write_checksum: sha1:a504b25360e0c95ff01bb25c41db5b9865f431af src/apideck_unify/models/accounting_paymentsupdateop.py: - last_write_checksum: sha1:87a4102eb05dbbb0b6e0cd51a91ce4e9a3b73d38 + last_write_checksum: sha1:e26833e156518410ab55fa7f0b33d570ae54aab8 src/apideck_unify/models/accounting_profitandlossoneop.py: last_write_checksum: sha1:19bb298974b5753c4fbeab1834aa5368047752bf src/apideck_unify/models/accounting_projectsaddop.py: @@ -26830,7 +26940,7 @@ trackedFiles: src/apideck_unify/models/accounting_projectsoneop.py: last_write_checksum: sha1:c8d3975d5d721ebc5519788e2dc0956b925965cc src/apideck_unify/models/accounting_projectsupdateop.py: - last_write_checksum: sha1:a4f9ef33f1dc4dea7b10d476e2edaa070805cc1f + last_write_checksum: sha1:7b68e988cfd732b5b8f424e663b85dae1b2403e1 src/apideck_unify/models/accounting_purchaseordersaddop.py: last_write_checksum: sha1:c9a091c0e370eed194a9bc97bb45368ebe799157 src/apideck_unify/models/accounting_purchaseordersallop.py: @@ -26860,7 +26970,7 @@ trackedFiles: src/apideck_unify/models/accounting_refundsoneop.py: last_write_checksum: sha1:2a1ed78953d147af84f79180048653abd615b6fd src/apideck_unify/models/accounting_refundsupdateop.py: - last_write_checksum: sha1:71fced621b826217c51d9d0baad33f5047646e68 + last_write_checksum: sha1:68f4dc07e9787e9bfd831a7812f60088b0ccd437 src/apideck_unify/models/accounting_salesordersaddop.py: last_write_checksum: sha1:015fd9436129b3d781beac6435e93b8af0dbb6d0 src/apideck_unify/models/accounting_salesordersallop.py: @@ -26880,7 +26990,7 @@ trackedFiles: src/apideck_unify/models/accounting_salesreceiptsoneop.py: last_write_checksum: sha1:ae6062d90db8bea4fba3e425e683de63a3fcd504 src/apideck_unify/models/accounting_salesreceiptsupdateop.py: - last_write_checksum: sha1:4f80fc2231c9a913ca5bb463f382a8a2302fcdca + last_write_checksum: sha1:b3cc33d323073fdd6f412832331b4b023e2a6a40 src/apideck_unify/models/accounting_subsidiariesaddop.py: last_write_checksum: sha1:2c53218749783b49cdc39828a13d043ec7e38ba0 src/apideck_unify/models/accounting_subsidiariesallop.py: @@ -27129,6 +27239,8 @@ trackedFiles: last_write_checksum: sha1:415cc9974224e4a957015c57e0fa1bb377d98a65 src/apideck_unify/models/billpaymentcreateinput.py: last_write_checksum: sha1:e8a70e84f0af92ddcb6fcc48d9cae63934c0c808 + src/apideck_unify/models/billpaymentupdateinput.py: + last_write_checksum: sha1:022aa6d4734e1a123b15788eb157a7e782851efa src/apideck_unify/models/billsfilter.py: last_write_checksum: sha1:2881d6989e8ad218b674ad6c6911cd3173ff20d8 src/apideck_unify/models/billssort.py: @@ -27373,6 +27485,8 @@ trackedFiles: last_write_checksum: sha1:dc52d3de09c625ca2babae0c66c10d534e484d87 src/apideck_unify/models/creditnotessort.py: last_write_checksum: sha1:b0a1c5a0acb96c8179b56f2bbaf9e6c48e0f4872 + src/apideck_unify/models/creditnoteupdateinput.py: + last_write_checksum: sha1:eddc25bc5a6a14fb35f5a9772bdc6f39992a048f src/apideck_unify/models/creditordebit.py: last_write_checksum: sha1:edd5178093d2a4b5e97b17266d75c2598b5c090d src/apideck_unify/models/crm_activitiesaddop.py: @@ -27715,6 +27829,8 @@ trackedFiles: last_write_checksum: sha1:54d0116cd709831502dabc70b910ddbea403c560 src/apideck_unify/models/expensecategory.py: last_write_checksum: sha1:6df6411de454a5cf35c34b38969a79619910d179 + src/apideck_unify/models/expensecategoryupdateinput.py: + last_write_checksum: sha1:7fe8a4ba047eb0337ade99910b5309a1e2b8cb67 src/apideck_unify/models/expenselineitem.py: last_write_checksum: sha1:1cc563de5344ad838ab48f87d1499d7ddc38cb6f src/apideck_unify/models/expenselineitem_input.py: @@ -27727,8 +27843,12 @@ trackedFiles: last_write_checksum: sha1:61104fdff0285d53643c1597a1113874ea4356d7 src/apideck_unify/models/expensereportsfilter.py: last_write_checksum: sha1:340c4797a19c391d146a6094c45d282483fa7492 + src/apideck_unify/models/expensereportupdateinput.py: + last_write_checksum: sha1:545815e11cb74b812f6a9ab1a39aba5337b0b069 src/apideck_unify/models/expensesfilter.py: last_write_checksum: sha1:e976af441c4722197d79f7fbdaba17b052675d8c + src/apideck_unify/models/expenseupdateinput.py: + last_write_checksum: sha1:bc90c3e7556dcd969d80c172a54ed5ec9a4efffb src/apideck_unify/models/filesfilter.py: last_write_checksum: sha1:929828f85b45dd2379793a75f2e1c16032b93a25 src/apideck_unify/models/filessearch.py: @@ -28439,6 +28559,8 @@ trackedFiles: last_write_checksum: sha1:37ce9b61ba2c02301036ead4ae0526b010bac3f9 src/apideck_unify/models/paymentunit.py: last_write_checksum: sha1:07b8e718c872314a055311906bf8c6dd1f35bf68 + src/apideck_unify/models/paymentupdateinput.py: + last_write_checksum: sha1:8556aa727fdb74e0de2cccc584b3cb2de24e4201 src/apideck_unify/models/payroll.py: last_write_checksum: sha1:1c4157720c5ac74a2902d7f3d0c520ca62a37e6d src/apideck_unify/models/payrollsfilter.py: @@ -28469,6 +28591,8 @@ trackedFiles: last_write_checksum: sha1:e5df91550d9cb82f645b89ca25996f4d03550254 src/apideck_unify/models/projectssort.py: last_write_checksum: sha1:fe22e634254b65c1f07b98151372852da40e441d + src/apideck_unify/models/projectupdateinput.py: + last_write_checksum: sha1:72425b8326a6bfb5c5bb3efb711460414417e923 src/apideck_unify/models/proxy_deleteproxyop.py: last_write_checksum: sha1:4fc93324c1d5274f87eabbe3a437574b81c2b351 src/apideck_unify/models/proxy_getproxyop.py: @@ -28507,6 +28631,8 @@ trackedFiles: last_write_checksum: sha1:bae0fc337952a1a249aae12fbdff4d8eb881af76 src/apideck_unify/models/refundtype.py: last_write_checksum: sha1:8a9e307ba9976bb48cc8d14b679cb6a234470f5a + src/apideck_unify/models/refundupdateinput.py: + last_write_checksum: sha1:baaab203ee2731ccc5a0890d5c8d5c74942dbf14 src/apideck_unify/models/requestcountallocation.py: last_write_checksum: sha1:e212bdc841ad7b2c8fec91ccb191dde831283e68 src/apideck_unify/models/resourcestatus.py: @@ -28525,6 +28651,8 @@ trackedFiles: last_write_checksum: sha1:39db2d0d76a11ee3a00ab2676322e4523291493a src/apideck_unify/models/salesreceiptssort.py: last_write_checksum: sha1:dc6c2d194017d1e34d2b8d5fcf0e2f1b56b195a2 + src/apideck_unify/models/salesreceiptupdateinput.py: + last_write_checksum: sha1:32dabff8e942a9b1a184cc8b7a85346a0c562f6f src/apideck_unify/models/schedule.py: last_write_checksum: sha1:0a493f453a3ce36ea3d71c0926d00aabb94b8301 src/apideck_unify/models/schemasupport.py: @@ -28838,7 +28966,7 @@ trackedFiles: src/apideck_unify/paymentmethods.py: last_write_checksum: sha1:9ad408dfe5b2ccf1b5f2e96f08efb265c3c8e092 src/apideck_unify/payments.py: - last_write_checksum: sha1:069736c6d9114e6a48525e434fb64bdb08180f6b + last_write_checksum: sha1:44867d48ab6db8ba5da316050d770d468208f30d src/apideck_unify/payrolls.py: last_write_checksum: sha1:5ccd0b249a6acb7ec93202cf3e02d445138a66b0 src/apideck_unify/pipelines.py: @@ -28848,7 +28976,7 @@ trackedFiles: src/apideck_unify/profitandloss_sdk.py: last_write_checksum: sha1:4f8c0556e3d1e6906db32f7939a4096bb9a4d579 src/apideck_unify/projects.py: - last_write_checksum: sha1:0098027dacc7f7b08783c6a0915d278d9ca43091 + last_write_checksum: sha1:5b450da5ea86aa76a81e10f7eedc68660b6d995b src/apideck_unify/proxy.py: last_write_checksum: sha1:53cac21bb7cb5e5c3424547235d9915d7dcc5319 src/apideck_unify/purchaseorders.py: @@ -28856,13 +28984,13 @@ trackedFiles: src/apideck_unify/py.typed: last_write_checksum: sha1:8efc425ffe830805ffcc0f3055871bdcdc542c60 src/apideck_unify/quotes.py: - last_write_checksum: sha1:acdb10639b63a1370b69dcf3d42261cf906b4ee8 + last_write_checksum: sha1:df05a3073d8db2b356a511ee3b7fb5c8ab3adad5 src/apideck_unify/refunds.py: - last_write_checksum: sha1:e656f42152706cd51d0c21b8cf5151d1c7fa9049 + last_write_checksum: sha1:44b73277da1eea9c2933cfd56bec71c1c227a27d src/apideck_unify/salesorders.py: last_write_checksum: sha1:b6c3801e13262b0955f4719bdb527c300d289a34 src/apideck_unify/salesreceipts.py: - last_write_checksum: sha1:1f8adef24efb6e8fd5f5f50e9b3f77f189311146 + last_write_checksum: sha1:6f1a7e0ef4164589e70eb0ef4a3f50fb23534ce0 src/apideck_unify/sdk.py: last_write_checksum: sha1:c36fd87d8a9d1b51c46deeb198cc84a9761aedfb src/apideck_unify/sdkconfiguration.py: @@ -28882,7 +29010,7 @@ trackedFiles: src/apideck_unify/taxrates.py: last_write_checksum: sha1:a0e49e5dac40330d8292c648392358efbcb94e3a src/apideck_unify/timeoffrequests.py: - last_write_checksum: sha1:653404a6177c58b53d79d8e89ca7e0f2c4206273 + last_write_checksum: sha1:679cfedc46f49036f5cce133b0f2b33dcf523713 src/apideck_unify/trackingcategories.py: last_write_checksum: sha1:3bbe59111e9f9f51d0c70e8a290931fda7738e48 src/apideck_unify/trialbalance_sdk.py: diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 27a097f8c..4de62f717 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -33,7 +33,7 @@ generation: persistentEdits: {} versioningStrategy: automatic python: - version: 0.55.0 + version: 0.56.0 additionalDependencies: dev: {} main: {} diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index b804eb9fa..f52470fae 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -2,20 +2,20 @@ speakeasyVersion: 1.656.1 sources: Apideck: sourceNamespace: apideck - sourceRevisionDigest: sha256:cf298bcca833247f38fec53b1e21cbb6267cfe3701c688411239c84f4c8c3b10 - sourceBlobDigest: sha256:3a5bf2ab5057369f7dd50354d0c1d4d0162b3d06e541ee01dea2aedc09fe15f7 + sourceRevisionDigest: sha256:f2087906494a2e1d2f7669f8c7a4d6b8ead4035101148a6a3b5e47e66e68d6c0 + sourceBlobDigest: sha256:98ae0dfc4e65d7e45d56cfb135d230552693589c3eafc5d383ea9bde032af79a tags: - latest - - speakeasy-sdk-regen-1793688532 - - 10.76.0 + - speakeasy-sdk-regen-1793725717 + - 10.77.0 targets: apideck: source: Apideck sourceNamespace: apideck - sourceRevisionDigest: sha256:cf298bcca833247f38fec53b1e21cbb6267cfe3701c688411239c84f4c8c3b10 - sourceBlobDigest: sha256:3a5bf2ab5057369f7dd50354d0c1d4d0162b3d06e541ee01dea2aedc09fe15f7 + sourceRevisionDigest: sha256:f2087906494a2e1d2f7669f8c7a4d6b8ead4035101148a6a3b5e47e66e68d6c0 + sourceBlobDigest: sha256:98ae0dfc4e65d7e45d56cfb135d230552693589c3eafc5d383ea9bde032af79a codeSamplesNamespace: apideck-python-code-samples - codeSamplesRevisionDigest: sha256:181d70b0f7858125290785142557bf6b54c488d3290aa987d2f32aa9daa4add1 + codeSamplesRevisionDigest: sha256:d98cbed1295b9c609b1bba7c7f8b979c262cd2f15e46acb693e6f7362b7ea8ff workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/RELEASES.md b/RELEASES.md index bc50b089a..9a046c6b6 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1778,4 +1778,14 @@ Based on: ### Generated - [python v0.55.0] . ### Releases -- [PyPI v0.55.0] https://pypi.org/project/apideck-unify/0.55.0 - . \ No newline at end of file +- [PyPI v0.55.0] https://pypi.org/project/apideck-unify/0.55.0 - . + +## 2026-11-04 16:08:22 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.656.1 (2.753.1) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v0.56.0] . +### Releases +- [PyPI v0.56.0] https://pypi.org/project/apideck-unify/0.56.0 - . \ No newline at end of file diff --git a/docs/models/accountingbillpaymentsupdaterequest.md b/docs/models/accountingbillpaymentsupdaterequest.md index fe38a4c72..f71547334 100644 --- a/docs/models/accountingbillpaymentsupdaterequest.md +++ b/docs/models/accountingbillpaymentsupdaterequest.md @@ -10,4 +10,4 @@ | `app_id` | *Optional[str]* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | | `service_id` | *Optional[str]* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | | `raw` | *Optional[bool]* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | -| `bill_payment` | [models.BillPaymentInput](../models/billpaymentinput.md) | :heavy_check_mark: | N/A | | \ No newline at end of file +| `bill_payment_update_input` | [models.BillPaymentUpdateInput](../models/billpaymentupdateinput.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/accountingcreditnotesupdaterequest.md b/docs/models/accountingcreditnotesupdaterequest.md index 5cd2fd742..6867e49ae 100644 --- a/docs/models/accountingcreditnotesupdaterequest.md +++ b/docs/models/accountingcreditnotesupdaterequest.md @@ -10,4 +10,4 @@ | `app_id` | *Optional[str]* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | | `service_id` | *Optional[str]* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | | `raw` | *Optional[bool]* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | -| `credit_note` | [models.CreditNoteInput](../models/creditnoteinput.md) | :heavy_check_mark: | N/A | | \ No newline at end of file +| `credit_note_update_input` | [models.CreditNoteUpdateInput](../models/creditnoteupdateinput.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/accountingexpensecategoriesupdaterequest.md b/docs/models/accountingexpensecategoriesupdaterequest.md index e0de9547e..9b6ca186c 100644 --- a/docs/models/accountingexpensecategoriesupdaterequest.md +++ b/docs/models/accountingexpensecategoriesupdaterequest.md @@ -10,4 +10,4 @@ | `app_id` | *Optional[str]* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | | `service_id` | *Optional[str]* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | | `raw` | *Optional[bool]* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | -| `expense_category` | [models.ExpenseCategoryInput](../models/expensecategoryinput.md) | :heavy_check_mark: | N/A | | \ No newline at end of file +| `expense_category_update_input` | [models.ExpenseCategoryUpdateInput](../models/expensecategoryupdateinput.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/accountingexpensereportsupdaterequest.md b/docs/models/accountingexpensereportsupdaterequest.md index 1a82b3ddd..c908f305e 100644 --- a/docs/models/accountingexpensereportsupdaterequest.md +++ b/docs/models/accountingexpensereportsupdaterequest.md @@ -10,4 +10,4 @@ | `app_id` | *Optional[str]* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | | `service_id` | *Optional[str]* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | | `raw` | *Optional[bool]* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | -| `expense_report` | [models.ExpenseReportInput](../models/expensereportinput.md) | :heavy_check_mark: | N/A | | \ No newline at end of file +| `expense_report_update_input` | [models.ExpenseReportUpdateInput](../models/expensereportupdateinput.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/accountingexpensesupdaterequest.md b/docs/models/accountingexpensesupdaterequest.md index b88eee0fc..c929d49e4 100644 --- a/docs/models/accountingexpensesupdaterequest.md +++ b/docs/models/accountingexpensesupdaterequest.md @@ -10,4 +10,4 @@ | `app_id` | *Optional[str]* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | | `service_id` | *Optional[str]* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | | `raw` | *Optional[bool]* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | -| `expense` | [models.ExpenseInput](../models/expenseinput.md) | :heavy_check_mark: | N/A | | \ No newline at end of file +| `expense_update_input` | [models.ExpenseUpdateInput](../models/expenseupdateinput.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/accountingpaymentsupdaterequest.md b/docs/models/accountingpaymentsupdaterequest.md index 412b1219e..e302d2263 100644 --- a/docs/models/accountingpaymentsupdaterequest.md +++ b/docs/models/accountingpaymentsupdaterequest.md @@ -11,4 +11,4 @@ | `service_id` | *Optional[str]* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | | `company_id_param` | *Optional[str]* | :heavy_minus_sign: | The ID of the company to scope requests to. For connectors that support multi-company, this overrides the default company configured in connection settings. | 12345 | | `raw` | *Optional[bool]* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | -| `payment` | [models.PaymentInput](../models/paymentinput.md) | :heavy_check_mark: | N/A | | \ No newline at end of file +| `payment_update_input` | [models.PaymentUpdateInput](../models/paymentupdateinput.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/accountingprojectsupdaterequest.md b/docs/models/accountingprojectsupdaterequest.md index 7141bfe54..597d9bfc8 100644 --- a/docs/models/accountingprojectsupdaterequest.md +++ b/docs/models/accountingprojectsupdaterequest.md @@ -11,4 +11,4 @@ | `service_id` | *Optional[str]* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | | `company_id_param` | *Optional[str]* | :heavy_minus_sign: | The ID of the company to scope requests to. For connectors that support multi-company, this overrides the default company configured in connection settings. | 12345 | | `raw` | *Optional[bool]* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | -| `project` | [models.ProjectInput](../models/projectinput.md) | :heavy_check_mark: | N/A | | \ No newline at end of file +| `project_update_input` | [models.ProjectUpdateInput](../models/projectupdateinput.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/accountingrefundsupdaterequest.md b/docs/models/accountingrefundsupdaterequest.md index 9839152f4..ecf0eec74 100644 --- a/docs/models/accountingrefundsupdaterequest.md +++ b/docs/models/accountingrefundsupdaterequest.md @@ -10,4 +10,4 @@ | `app_id` | *Optional[str]* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | | `service_id` | *Optional[str]* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | | `raw` | *Optional[bool]* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | -| `refund` | [models.RefundInput](../models/refundinput.md) | :heavy_check_mark: | N/A | | \ No newline at end of file +| `refund_update_input` | [models.RefundUpdateInput](../models/refundupdateinput.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/accountingsalesreceiptsupdaterequest.md b/docs/models/accountingsalesreceiptsupdaterequest.md index 361efdcac..5308d7fd0 100644 --- a/docs/models/accountingsalesreceiptsupdaterequest.md +++ b/docs/models/accountingsalesreceiptsupdaterequest.md @@ -11,4 +11,4 @@ | `service_id` | *Optional[str]* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | | `raw` | *Optional[bool]* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | | `company_id` | *Optional[str]* | :heavy_minus_sign: | The ID of the company to scope requests to. For connectors that support multi-company, this overrides the default company configured in connection settings. | 12345 | -| `sales_receipt` | [models.SalesReceiptInput](../models/salesreceiptinput.md) | :heavy_check_mark: | N/A | | \ No newline at end of file +| `sales_receipt_update_input` | [models.SalesReceiptUpdateInput](../models/salesreceiptupdateinput.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/billpaymentupdateinput.md b/docs/models/billpaymentupdateinput.md new file mode 100644 index 000000000..5b0832930 --- /dev/null +++ b/docs/models/billpaymentupdateinput.md @@ -0,0 +1,32 @@ +# BillPaymentUpdateInput + +The writable shape of BillPayment for a single-record update. Identical to the model with the read-only properties removed and no required properties, because PATCH is partial and the API already validates it that way. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `currency` | [OptionalNullable[models.Currency]](../models/currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `currency_rate` | *OptionalNullable[float]* | :heavy_minus_sign: | Currency Exchange Rate at the time entity was recorded/generated. | 0.69 | +| `total_amount` | *OptionalNullable[float]* | :heavy_minus_sign: | The total amount of the transaction or record | 49.99 | +| `reference` | *OptionalNullable[str]* | :heavy_minus_sign: | Optional transaction reference message ie: Debit remittance detail. | 123456 | +| `payment_method` | *OptionalNullable[str]* | :heavy_minus_sign: | Payment method used for the transaction, such as cash, credit card, bank transfer, or check | cash | +| `payment_method_reference` | *OptionalNullable[str]* | :heavy_minus_sign: | Optional reference message returned by payment method on processing | 123456 | +| `payment_method_id` | *OptionalNullable[str]* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `account` | [OptionalNullable[models.LinkedLedgerAccount]](../models/linkedledgeraccount.md) | :heavy_minus_sign: | N/A | | +| `transaction_date` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD | 2021-05-01T12:00:00.000Z | +| `supplier` | [OptionalNullable[models.LinkedSupplierInput]](../models/linkedsupplierinput.md) | :heavy_minus_sign: | The supplier this entity is linked to. | | +| `company_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The company ID the transaction belongs to | 12345 | +| `subsidiary` | [OptionalNullable[models.LinkedSubsidiaryInput]](../models/linkedsubsidiaryinput.md) | :heavy_minus_sign: | N/A | | +| `reconciled` | *OptionalNullable[bool]* | :heavy_minus_sign: | Indicates if the transaction has been reconciled. | true | +| `status` | [Optional[models.PaymentStatus]](../models/paymentstatus.md) | :heavy_minus_sign: | Status of payment | authorised | +| `type` | [Optional[models.BillPaymentUpdateInputBillPaymentType]](../models/billpaymentupdateinputbillpaymenttype.md) | :heavy_minus_sign: | Type of payment | accounts_payable | +| `allocations` | List[[models.BillPaymentUpdateInputAllocations](../models/billpaymentupdateinputallocations.md)] | :heavy_minus_sign: | N/A | | +| `note` | *OptionalNullable[str]* | :heavy_minus_sign: | Note associated with the transaction | Some notes about this transaction | +| `number` | *OptionalNullable[str]* | :heavy_minus_sign: | Number associated with the transaction | 123456 | +| `tracking_categories` | List[[Nullable[models.LinkedTrackingCategory]](../models/linkedtrackingcategory.md)] | :heavy_minus_sign: | A list of linked tracking categories. | | +| `custom_fields` | List[[models.CustomField](../models/customfield.md)] | :heavy_minus_sign: | N/A | | +| `row_version` | *OptionalNullable[str]* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `display_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Id to be displayed. | 123456 | +| `pass_through` | List[[models.PassThroughBody](../models/passthroughbody.md)] | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/models/billpaymentupdateinputallocations.md b/docs/models/billpaymentupdateinputallocations.md new file mode 100644 index 000000000..cbc3f6ddf --- /dev/null +++ b/docs/models/billpaymentupdateinputallocations.md @@ -0,0 +1,11 @@ +# BillPaymentUpdateInputAllocations + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | +| `id` | *OptionalNullable[str]* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `type` | [Optional[models.BillPaymentUpdateInputAllocationType]](../models/billpaymentupdateinputallocationtype.md) | :heavy_minus_sign: | Type of entity this payment should be attributed to. | bill | +| `amount` | *OptionalNullable[float]* | :heavy_minus_sign: | Amount of payment that should be attributed to this allocation. If null, the total_amount will be used. | 49.99 | +| `allocation_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the allocation | 123456 | \ No newline at end of file diff --git a/docs/models/billpaymentupdateinputallocationtype.md b/docs/models/billpaymentupdateinputallocationtype.md new file mode 100644 index 000000000..38b29291e --- /dev/null +++ b/docs/models/billpaymentupdateinputallocationtype.md @@ -0,0 +1,16 @@ +# BillPaymentUpdateInputAllocationType + +Type of entity this payment should be attributed to. + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `BILL` | bill | +| `EXPENSE` | expense | +| `CREDIT_MEMO` | credit_memo | +| `OVER_PAYMENT` | over_payment | +| `PRE_PAYMENT` | pre_payment | +| `JOURNAL_ENTRY` | journal_entry | +| `OTHER` | other | \ No newline at end of file diff --git a/docs/models/billpaymentupdateinputbillpaymenttype.md b/docs/models/billpaymentupdateinputbillpaymenttype.md new file mode 100644 index 000000000..a8455fc0d --- /dev/null +++ b/docs/models/billpaymentupdateinputbillpaymenttype.md @@ -0,0 +1,13 @@ +# BillPaymentUpdateInputBillPaymentType + +Type of payment + + +## Values + +| Name | Value | +| ------------------------------ | ------------------------------ | +| `ACCOUNTS_PAYABLE_CREDIT` | accounts_payable_credit | +| `ACCOUNTS_PAYABLE_OVERPAYMENT` | accounts_payable_overpayment | +| `ACCOUNTS_PAYABLE_PREPAYMENT` | accounts_payable_prepayment | +| `ACCOUNTS_PAYABLE` | accounts_payable | \ No newline at end of file diff --git a/docs/models/creditnoteupdateinput.md b/docs/models/creditnoteupdateinput.md new file mode 100644 index 000000000..57b8e5d37 --- /dev/null +++ b/docs/models/creditnoteupdateinput.md @@ -0,0 +1,41 @@ +# CreditNoteUpdateInput + +The writable shape of CreditNote for a single-record update. Identical to the model with the read-only properties removed and no required properties, because PATCH is partial and the API already validates it that way. + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `number` | *OptionalNullable[str]* | :heavy_minus_sign: | Credit note number. | OIT00546 | +| `customer` | [OptionalNullable[models.LinkedCustomerInput]](../models/linkedcustomerinput.md) | :heavy_minus_sign: | The customer this entity is linked to. | | +| `company_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The company ID the transaction belongs to | 12345 | +| `subsidiary` | [OptionalNullable[models.LinkedSubsidiaryInput]](../models/linkedsubsidiaryinput.md) | :heavy_minus_sign: | N/A | | +| `location_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the location | 12345 | +| `department_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the department | 12345 | +| `currency` | [OptionalNullable[models.Currency]](../models/currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `currency_rate` | *OptionalNullable[float]* | :heavy_minus_sign: | Currency Exchange Rate at the time entity was recorded/generated. | 0.69 | +| `tax_inclusive` | *OptionalNullable[bool]* | :heavy_minus_sign: | Amounts are including tax | true | +| `sub_total` | *OptionalNullable[float]* | :heavy_minus_sign: | Sub-total amount, normally before tax. | 27500 | +| `total_amount` | *Optional[float]* | :heavy_minus_sign: | Amount of transaction | 49.99 | +| `total_tax` | *OptionalNullable[float]* | :heavy_minus_sign: | Total tax amount applied to this invoice. | 2500 | +| `tax_code` | *OptionalNullable[str]* | :heavy_minus_sign: | Applicable tax id/code override if tax is not supplied on a line item basis. | 1234 | +| `balance` | *OptionalNullable[float]* | :heavy_minus_sign: | The balance reflecting any payments made against the transaction. | 27500 | +| `remaining_credit` | *OptionalNullable[float]* | :heavy_minus_sign: | Indicates the total credit amount still available to apply towards the payment. | 27500 | +| `status` | [Optional[models.CreditNoteUpdateInputCreditNoteStatus]](../models/creditnoteupdateinputcreditnotestatus.md) | :heavy_minus_sign: | Status of credit notes | authorised | +| `reference` | *OptionalNullable[str]* | :heavy_minus_sign: | Optional reference message ie: Debit remittance detail. | 123456 | +| `date_issued` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Date credit note issued - YYYY:MM::DDThh:mm:ss.sTZD | 2021-05-01T12:00:00.000Z | +| `date_paid` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Date credit note paid - YYYY:MM::DDThh:mm:ss.sTZD | 2021-05-01T12:00:00.000Z | +| `type` | [Optional[models.CreditNoteUpdateInputCreditNoteType]](../models/creditnoteupdateinputcreditnotetype.md) | :heavy_minus_sign: | Whether this credit note reduces an amount owed by a customer (accounts receivable) or owed to a supplier (accounts payable). `accounts_payable_credit` support is connector-specific — most connectors only expose the accounts-receivable side. Check the connector's gotchas for known deviations. | accounts_receivable_credit | +| `account` | [OptionalNullable[models.LinkedLedgerAccount]](../models/linkedledgeraccount.md) | :heavy_minus_sign: | N/A | | +| `line_items` | List[[models.InvoiceLineItemInput](../models/invoicelineiteminput.md)] | :heavy_minus_sign: | N/A | | +| `allocations` | List[[models.AllocationInput](../models/allocationinput.md)] | :heavy_minus_sign: | N/A | | +| `note` | *OptionalNullable[str]* | :heavy_minus_sign: | Optional note to be associated with the credit note. | Some notes about this credit note | +| `terms` | *OptionalNullable[str]* | :heavy_minus_sign: | Optional terms to be associated with the credit note. | Some terms about this credit note | +| `terms_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the payment terms | 12345 | +| `billing_address` | [Optional[models.Address]](../models/address.md) | :heavy_minus_sign: | N/A | | +| `shipping_address` | [Optional[models.Address]](../models/address.md) | :heavy_minus_sign: | N/A | | +| `tracking_categories` | List[[Nullable[models.LinkedTrackingCategory]](../models/linkedtrackingcategory.md)] | :heavy_minus_sign: | A list of linked tracking categories. | | +| `custom_fields` | List[[models.CustomField](../models/customfield.md)] | :heavy_minus_sign: | N/A | | +| `row_version` | *OptionalNullable[str]* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `pass_through` | List[[models.PassThroughBody](../models/passthroughbody.md)] | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/models/creditnoteupdateinputcreditnotestatus.md b/docs/models/creditnoteupdateinputcreditnotestatus.md new file mode 100644 index 000000000..06bd93b06 --- /dev/null +++ b/docs/models/creditnoteupdateinputcreditnotestatus.md @@ -0,0 +1,16 @@ +# CreditNoteUpdateInputCreditNoteStatus + +Status of credit notes + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `DRAFT` | draft | +| `AUTHORISED` | authorised | +| `POSTED` | posted | +| `PARTIALLY_PAID` | partially_paid | +| `PAID` | paid | +| `VOIDED` | voided | +| `DELETED` | deleted | \ No newline at end of file diff --git a/docs/models/creditnoteupdateinputcreditnotetype.md b/docs/models/creditnoteupdateinputcreditnotetype.md new file mode 100644 index 000000000..a8da306bf --- /dev/null +++ b/docs/models/creditnoteupdateinputcreditnotetype.md @@ -0,0 +1,11 @@ +# CreditNoteUpdateInputCreditNoteType + +Whether this credit note reduces an amount owed by a customer (accounts receivable) or owed to a supplier (accounts payable). `accounts_payable_credit` support is connector-specific — most connectors only expose the accounts-receivable side. Check the connector's gotchas for known deviations. + + +## Values + +| Name | Value | +| ---------------------------- | ---------------------------- | +| `ACCOUNTS_RECEIVABLE_CREDIT` | accounts_receivable_credit | +| `ACCOUNTS_PAYABLE_CREDIT` | accounts_payable_credit | \ No newline at end of file diff --git a/docs/models/expensecategoryupdateinput.md b/docs/models/expensecategoryupdateinput.md new file mode 100644 index 000000000..efdbb94ae --- /dev/null +++ b/docs/models/expensecategoryupdateinput.md @@ -0,0 +1,21 @@ +# ExpenseCategoryUpdateInput + +The writable shape of ExpenseCategory for a single-record update. Identical to the model with the read-only properties removed and no required properties, because PATCH is partial and the API already validates it that way. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `display_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Id to be displayed. | 123456 | +| `name` | *Optional[str]* | :heavy_minus_sign: | The name of the expense category. | Travel | +| `code` | *OptionalNullable[str]* | :heavy_minus_sign: | The code or external identifier of the expense category. | TRAVEL-001 | +| `description` | *OptionalNullable[str]* | :heavy_minus_sign: | The description of the expense category. | Travel-related expenses including flights, hotels, and ground transportation. | +| `status` | [OptionalNullable[models.ExpenseCategoryUpdateInputStatus]](../models/expensecategoryupdateinputstatus.md) | :heavy_minus_sign: | The status of the expense category. | active | +| `account` | [OptionalNullable[models.LinkedLedgerAccount]](../models/linkedledgeraccount.md) | :heavy_minus_sign: | N/A | | +| `offset_account` | [OptionalNullable[models.LinkedLedgerAccount]](../models/linkedledgeraccount.md) | :heavy_minus_sign: | N/A | | +| `tax_rate` | [Optional[models.LinkedTaxRateInput]](../models/linkedtaxrateinput.md) | :heavy_minus_sign: | N/A | | +| `rate_required` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether the expense category requires rate/quantity entry (e.g. mileage at $/mile). | false | +| `default_rate` | *OptionalNullable[float]* | :heavy_minus_sign: | Default rate when rate_required is true (e.g. 0.67 for mileage). | 0.67 | +| `row_version` | *OptionalNullable[str]* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `pass_through` | List[[models.PassThroughBody](../models/passthroughbody.md)] | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/models/expensecategoryupdateinputstatus.md b/docs/models/expensecategoryupdateinputstatus.md new file mode 100644 index 000000000..5e57ab8e1 --- /dev/null +++ b/docs/models/expensecategoryupdateinputstatus.md @@ -0,0 +1,11 @@ +# ExpenseCategoryUpdateInputStatus + +The status of the expense category. + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `ACTIVE` | active | +| `INACTIVE` | inactive | \ No newline at end of file diff --git a/docs/models/expensereportupdateinput.md b/docs/models/expensereportupdateinput.md new file mode 100644 index 000000000..82622759e --- /dev/null +++ b/docs/models/expensereportupdateinput.md @@ -0,0 +1,37 @@ +# ExpenseReportUpdateInput + +The writable shape of ExpenseReport for a single-record update. Identical to the model with the read-only properties removed and no required properties, because PATCH is partial and the API already validates it that way. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `display_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Id to be displayed. | 123456 | +| `number` | *OptionalNullable[str]* | :heavy_minus_sign: | The expense report number. | ER-001 | +| `title` | *OptionalNullable[str]* | :heavy_minus_sign: | Title or purpose of the expense report. | Q1 Business Travel | +| `employee` | [Optional[models.ExpenseReportUpdateInputEmployee]](../models/expensereportupdateinputemployee.md) | :heavy_minus_sign: | The employee who submitted the expense report. | | +| `status` | [OptionalNullable[models.ExpenseReportUpdateInputStatus]](../models/expensereportupdateinputstatus.md) | :heavy_minus_sign: | The status of the expense report. | submitted | +| `transaction_date` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD | 2021-05-01T12:00:00.000Z | +| `posting_date` | [datetime](https://docs.python.org/3/library/datetime.html#datetime-objects) | :heavy_minus_sign: | The date the expense report was posted to the general ledger. | 2024-06-01 | +| `due_date` | [datetime](https://docs.python.org/3/library/datetime.html#datetime-objects) | :heavy_minus_sign: | Date when reimbursement is due. | 2024-06-15 | +| `currency` | [OptionalNullable[models.Currency]](../models/currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `currency_rate` | *OptionalNullable[float]* | :heavy_minus_sign: | Currency Exchange Rate at the time entity was recorded/generated. | 0.69 | +| `sub_total` | *OptionalNullable[float]* | :heavy_minus_sign: | Subtotal amount, normally before tax. | 250 | +| `total_tax` | *OptionalNullable[float]* | :heavy_minus_sign: | Total tax amount applied to this transaction. | 25 | +| `total_amount` | *OptionalNullable[float]* | :heavy_minus_sign: | Total amount of all expense lines including tax. | 1250.75 | +| `reimbursable_amount` | *OptionalNullable[float]* | :heavy_minus_sign: | Total reimbursable amount (may differ from total if some expenses are non-reimbursable). | 1100 | +| `memo` | *OptionalNullable[str]* | :heavy_minus_sign: | The memo of the expense report. | Business travel expenses for Q1 client meetings | +| `department` | [OptionalNullable[models.LinkedDepartmentInput]](../models/linkeddepartmentinput.md) | :heavy_minus_sign: | N/A | | +| `location` | [OptionalNullable[models.LinkedLocationInput]](../models/linkedlocationinput.md) | :heavy_minus_sign: | N/A | | +| `account` | [OptionalNullable[models.LinkedLedgerAccount]](../models/linkedledgeraccount.md) | :heavy_minus_sign: | N/A | | +| `accounting_period` | [OptionalNullable[models.ExpenseReportUpdateInputAccountingPeriod]](../models/expensereportupdateinputaccountingperiod.md) | :heavy_minus_sign: | The accounting period the expense report is posted to. | | +| `line_items` | List[[models.ExpenseReportLineItemInput](../models/expensereportlineiteminput.md)] | :heavy_minus_sign: | Expense line items linked to this expense report. | | +| `reference` | *OptionalNullable[str]* | :heavy_minus_sign: | Optional reference identifier for the transaction. | INV-2024-001 | +| `subsidiary` | [OptionalNullable[models.LinkedSubsidiaryInput]](../models/linkedsubsidiaryinput.md) | :heavy_minus_sign: | N/A | | +| `tracking_categories` | List[[Nullable[models.LinkedTrackingCategory]](../models/linkedtrackingcategory.md)] | :heavy_minus_sign: | A list of linked tracking categories. | | +| `tax_inclusive` | *OptionalNullable[bool]* | :heavy_minus_sign: | Amounts are including tax | true | +| `approved_by` | [OptionalNullable[models.ExpenseReportUpdateInputApprovedBy]](../models/expensereportupdateinputapprovedby.md) | :heavy_minus_sign: | The person who approved the expense report. | | +| `custom_fields` | List[[models.CustomField](../models/customfield.md)] | :heavy_minus_sign: | N/A | | +| `row_version` | *OptionalNullable[str]* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `pass_through` | List[[models.PassThroughBody](../models/passthroughbody.md)] | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/models/expensereportupdateinputaccountingperiod.md b/docs/models/expensereportupdateinputaccountingperiod.md new file mode 100644 index 000000000..dbc5604d0 --- /dev/null +++ b/docs/models/expensereportupdateinputaccountingperiod.md @@ -0,0 +1,11 @@ +# ExpenseReportUpdateInputAccountingPeriod + +The accounting period the expense report is posted to. + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | +| `id` | *Optional[str]* | :heavy_minus_sign: | A unique identifier for the accounting period. | 12345 | +| `name` | *OptionalNullable[str]* | :heavy_minus_sign: | The name of the accounting period. | Q1 2024 | \ No newline at end of file diff --git a/docs/models/expensereportupdateinputapprovedby.md b/docs/models/expensereportupdateinputapprovedby.md new file mode 100644 index 000000000..f1e5b82a7 --- /dev/null +++ b/docs/models/expensereportupdateinputapprovedby.md @@ -0,0 +1,11 @@ +# ExpenseReportUpdateInputApprovedBy + +The person who approved the expense report. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------- | ------------------------------------- | ------------------------------------- | ------------------------------------- | ------------------------------------- | +| `id` | *Optional[str]* | :heavy_minus_sign: | A unique identifier for the approver. | 12345 | +| `display_name` | *OptionalNullable[str]* | :heavy_minus_sign: | The display name of the approver. | Jane Smith | \ No newline at end of file diff --git a/docs/models/expensereportupdateinputemployee.md b/docs/models/expensereportupdateinputemployee.md new file mode 100644 index 000000000..b3645dae5 --- /dev/null +++ b/docs/models/expensereportupdateinputemployee.md @@ -0,0 +1,11 @@ +# ExpenseReportUpdateInputEmployee + +The employee who submitted the expense report. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------- | ------------------------------------- | ------------------------------------- | ------------------------------------- | ------------------------------------- | +| `id` | *Optional[str]* | :heavy_minus_sign: | A unique identifier for the employee. | 12345 | +| `display_name` | *OptionalNullable[str]* | :heavy_minus_sign: | The display name of the employee. | John Doe | \ No newline at end of file diff --git a/docs/models/expensereportupdateinputstatus.md b/docs/models/expensereportupdateinputstatus.md new file mode 100644 index 000000000..752f7ba11 --- /dev/null +++ b/docs/models/expensereportupdateinputstatus.md @@ -0,0 +1,16 @@ +# ExpenseReportUpdateInputStatus + +The status of the expense report. + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `DRAFT` | draft | +| `SUBMITTED` | submitted | +| `APPROVED` | approved | +| `REIMBURSED` | reimbursed | +| `REJECTED` | rejected | +| `REVERSED` | reversed | +| `VOIDED` | voided | \ No newline at end of file diff --git a/docs/models/expenseupdateinput.md b/docs/models/expenseupdateinput.md new file mode 100644 index 000000000..20c58b9e5 --- /dev/null +++ b/docs/models/expenseupdateinput.md @@ -0,0 +1,38 @@ +# ExpenseUpdateInput + +The writable shape of Expense for a single-record update. Identical to the model with the read-only properties removed and no required properties, because PATCH is partial and the API already validates it that way. + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `display_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Id to be displayed. | 123456 | +| `number` | *OptionalNullable[str]* | :heavy_minus_sign: | Number. | OIT00546 | +| `transaction_date` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD | 2021-05-01T12:00:00.000Z | +| ~~`account_id`~~ | *Optional[str]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: Deprecated. Use account instead..

The unique identifier for the ledger account that this expense should be credited to. Deprecated, use account instead. | 123456 | +| `account` | [OptionalNullable[models.LinkedFinancialAccountInput]](../models/linkedfinancialaccountinput.md) | :heavy_minus_sign: | A flexible account reference that can represent a ledger account (GL account), a bank account, or an employee payable account, depending on the connector's requirements. | | +| ~~`supplier_id`~~ | *Optional[str]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: Deprecated. Use supplier instead..

The ID of the supplier this entity is linked to. Deprecated, use supplier instead. | 12345 | +| `supplier` | [OptionalNullable[models.LinkedSupplierInput]](../models/linkedsupplierinput.md) | :heavy_minus_sign: | The supplier this entity is linked to. | | +| `company_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The company ID the transaction belongs to | 12345 | +| `location` | [OptionalNullable[models.LinkedLocationInput]](../models/linkedlocationinput.md) | :heavy_minus_sign: | N/A | | +| `department_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the department | 12345 | +| `department` | [OptionalNullable[models.LinkedDepartmentInput]](../models/linkeddepartmentinput.md) | :heavy_minus_sign: | N/A | | +| `payment_type` | [OptionalNullable[models.ExpenseUpdateInputPaymentType]](../models/expenseupdateinputpaymenttype.md) | :heavy_minus_sign: | The type of payment for the expense. | cash | +| `currency` | [OptionalNullable[models.Currency]](../models/currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `currency_rate` | *OptionalNullable[float]* | :heavy_minus_sign: | Currency Exchange Rate at the time entity was recorded/generated. | 0.69 | +| `type` | [OptionalNullable[models.ExpenseUpdateInputExpenseType]](../models/expenseupdateinputexpensetype.md) | :heavy_minus_sign: | The type of expense. | expense | +| `memo` | *OptionalNullable[str]* | :heavy_minus_sign: | The memo of the expense. | For travel expenses incurred on 2024-05-15 | +| `tax_rate` | [Optional[models.LinkedTaxRateInput]](../models/linkedtaxrateinput.md) | :heavy_minus_sign: | N/A | | +| `tax_inclusive` | *OptionalNullable[bool]* | :heavy_minus_sign: | Amounts are including tax | true | +| `sub_total` | *OptionalNullable[float]* | :heavy_minus_sign: | Subtotal amount, normally before tax. | 250 | +| `total_tax` | *OptionalNullable[float]* | :heavy_minus_sign: | Total tax amount applied to this transaction. | 25 | +| `total_amount` | *OptionalNullable[float]* | :heavy_minus_sign: | The total amount of the expense line item. | 275 | +| `tracking_categories` | List[[Nullable[models.LinkedTrackingCategory]](../models/linkedtrackingcategory.md)] | :heavy_minus_sign: | A list of linked tracking categories. | | +| `line_items` | List[[models.ExpenseLineItemInput](../models/expenselineiteminput.md)] | :heavy_minus_sign: | Expense line items linked to this expense. | | +| `reference` | *OptionalNullable[str]* | :heavy_minus_sign: | Optional reference identifier for the transaction. | INV-2024-001 | +| `source_document_url` | *OptionalNullable[str]* | :heavy_minus_sign: | URL link to a source document - shown as 'Go to [appName]' in the downstream app. Currently only supported for Xero. | https://www.invoicesolution.com/expense/123456 | +| `custom_fields` | List[[models.CustomField](../models/customfield.md)] | :heavy_minus_sign: | N/A | | +| `status` | [OptionalNullable[models.ExpenseUpdateInputStatus]](../models/expenseupdateinputstatus.md) | :heavy_minus_sign: | Expense status | draft | +| `row_version` | *OptionalNullable[str]* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `pass_through` | List[[models.PassThroughBody](../models/passthroughbody.md)] | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/models/expenseupdateinputexpensetype.md b/docs/models/expenseupdateinputexpensetype.md new file mode 100644 index 000000000..96df29f40 --- /dev/null +++ b/docs/models/expenseupdateinputexpensetype.md @@ -0,0 +1,11 @@ +# ExpenseUpdateInputExpenseType + +The type of expense. + + +## Values + +| Name | Value | +| --------- | --------- | +| `EXPENSE` | expense | +| `REFUND` | refund | \ No newline at end of file diff --git a/docs/models/expenseupdateinputpaymenttype.md b/docs/models/expenseupdateinputpaymenttype.md new file mode 100644 index 000000000..ee8d29d70 --- /dev/null +++ b/docs/models/expenseupdateinputpaymenttype.md @@ -0,0 +1,13 @@ +# ExpenseUpdateInputPaymentType + +The type of payment for the expense. + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `CASH` | cash | +| `CHECK` | check | +| `CREDIT_CARD` | credit_card | +| `OTHER` | other | \ No newline at end of file diff --git a/docs/models/expenseupdateinputstatus.md b/docs/models/expenseupdateinputstatus.md new file mode 100644 index 000000000..2cc9d7c90 --- /dev/null +++ b/docs/models/expenseupdateinputstatus.md @@ -0,0 +1,12 @@ +# ExpenseUpdateInputStatus + +Expense status + + +## Values + +| Name | Value | +| -------- | -------- | +| `DRAFT` | draft | +| `POSTED` | posted | +| `VOIDED` | voided | \ No newline at end of file diff --git a/docs/models/paymentupdateinput.md b/docs/models/paymentupdateinput.md new file mode 100644 index 000000000..e9544359f --- /dev/null +++ b/docs/models/paymentupdateinput.md @@ -0,0 +1,35 @@ +# PaymentUpdateInput + +The writable shape of Payment for a single-record update. Identical to the model with the read-only properties removed and no required properties, because PATCH is partial and the API already validates it that way. + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `currency` | [OptionalNullable[models.Currency]](../models/currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `currency_rate` | *OptionalNullable[float]* | :heavy_minus_sign: | Currency Exchange Rate at the time entity was recorded/generated. | 0.69 | +| `total_amount` | *OptionalNullable[float]* | :heavy_minus_sign: | The total amount of the transaction or record | 49.99 | +| `reference` | *OptionalNullable[str]* | :heavy_minus_sign: | Optional transaction reference message ie: Debit remittance detail. | 123456 | +| `payment_method` | *OptionalNullable[str]* | :heavy_minus_sign: | Payment method used for the transaction, such as cash, credit card, bank transfer, or check | cash | +| `payment_method_reference` | *OptionalNullable[str]* | :heavy_minus_sign: | Optional reference message returned by payment method on processing | 123456 | +| `payment_method_id` | *OptionalNullable[str]* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| ~~`accounts_receivable_account_type`~~ | *OptionalNullable[str]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This field is deprecated and may be removed in a future version..

Type of accounts receivable account. | Account | +| ~~`accounts_receivable_account_id`~~ | *OptionalNullable[str]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This field is deprecated and may be removed in a future version..

Unique identifier for the account to allocate payment to. | 123456 | +| `account` | [OptionalNullable[models.LinkedLedgerAccount]](../models/linkedledgeraccount.md) | :heavy_minus_sign: | N/A | | +| `transaction_date` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD | 2021-05-01T12:00:00.000Z | +| `customer` | [OptionalNullable[models.LinkedCustomerInput]](../models/linkedcustomerinput.md) | :heavy_minus_sign: | The customer this entity is linked to. | | +| ~~`supplier`~~ | [OptionalNullable[models.DeprecatedLinkedSupplierInput]](../models/deprecatedlinkedsupplierinput.md) | :heavy_minus_sign: | : warning: ** DEPRECATED **: This field is deprecated and may be removed in a future version..

The supplier this entity is linked to. | | +| `company_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The company ID the transaction belongs to | 12345 | +| `subsidiary` | [OptionalNullable[models.LinkedSubsidiaryInput]](../models/linkedsubsidiaryinput.md) | :heavy_minus_sign: | N/A | | +| `reconciled` | *OptionalNullable[bool]* | :heavy_minus_sign: | Indicates if the transaction has been reconciled. | true | +| `status` | [Optional[models.PaymentStatus]](../models/paymentstatus.md) | :heavy_minus_sign: | Status of payment | authorised | +| `type` | [Optional[models.PaymentType]](../models/paymenttype.md) | :heavy_minus_sign: | Type of payment | accounts_receivable | +| `allocations` | List[[models.AllocationInput](../models/allocationinput.md)] | :heavy_minus_sign: | N/A | | +| `note` | *OptionalNullable[str]* | :heavy_minus_sign: | Note associated with the transaction | Some notes about this transaction | +| `number` | *OptionalNullable[str]* | :heavy_minus_sign: | Number associated with the transaction | 123456 | +| `tracking_categories` | List[[Nullable[models.LinkedTrackingCategory]](../models/linkedtrackingcategory.md)] | :heavy_minus_sign: | A list of linked tracking categories. | | +| `custom_fields` | List[[models.CustomField](../models/customfield.md)] | :heavy_minus_sign: | N/A | | +| `row_version` | *OptionalNullable[str]* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `display_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Id to be displayed. | 123456 | +| `pass_through` | List[[models.PassThroughBody](../models/passthroughbody.md)] | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/models/projectupdateinput.md b/docs/models/projectupdateinput.md new file mode 100644 index 000000000..3d800423e --- /dev/null +++ b/docs/models/projectupdateinput.md @@ -0,0 +1,45 @@ +# ProjectUpdateInput + +The writable shape of Project for a single-record update. Identical to the model with the read-only properties removed and no required properties, because PATCH is partial and the API already validates it that way. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | +| `name` | *Optional[str]* | :heavy_minus_sign: | Name of the project | Website Redesign Project | +| `display_id` | *OptionalNullable[str]* | :heavy_minus_sign: | User-friendly project identifier | PROJ-001 | +| `reference_id` | *OptionalNullable[str]* | :heavy_minus_sign: | External reference identifier for the project | WD-REF-2024-001 | +| `description` | *OptionalNullable[str]* | :heavy_minus_sign: | Detailed description of the project | Complete redesign of the company website including new branding and improved user experience | +| `status` | [OptionalNullable[models.ProjectUpdateInputProjectStatus]](../models/projectupdateinputprojectstatus.md) | :heavy_minus_sign: | Current status of the project | active | +| `active` | *OptionalNullable[bool]* | :heavy_minus_sign: | Indicates whether the project is currently active or inactive | true | +| `project_type` | [OptionalNullable[models.ProjectUpdateInputProjectType]](../models/projectupdateinputprojecttype.md) | :heavy_minus_sign: | Type or category of the project | client_project | +| `priority` | [OptionalNullable[models.ProjectUpdateInputPriority]](../models/projectupdateinputpriority.md) | :heavy_minus_sign: | Priority level of the project | high | +| `completion_percentage` | *OptionalNullable[float]* | :heavy_minus_sign: | Percentage of project completion (0-100) | 75.5 | +| `start_date` | [datetime](https://docs.python.org/3/library/datetime.html#datetime-objects) | :heavy_minus_sign: | Start date of the project | 2024-01-15 | +| `end_date` | [datetime](https://docs.python.org/3/library/datetime.html#datetime-objects) | :heavy_minus_sign: | Expected or planned end date of the project | 2024-06-30 | +| `completion_date` | [datetime](https://docs.python.org/3/library/datetime.html#datetime-objects) | :heavy_minus_sign: | Actual end date of the project | 2024-08-06 | +| `customer` | [OptionalNullable[models.LinkedCustomerInput]](../models/linkedcustomerinput.md) | :heavy_minus_sign: | The customer this entity is linked to. | | +| `department` | [OptionalNullable[models.ProjectUpdateInputDepartment]](../models/projectupdateinputdepartment.md) | :heavy_minus_sign: | Department or organizational unit associated with the project | | +| `company_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The company ID the transaction belongs to | 12345 | +| `owner_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the user who owns/manages this project | 12345 | +| `parent_project` | [OptionalNullable[models.ProjectUpdateInputParentProject]](../models/projectupdateinputparentproject.md) | :heavy_minus_sign: | Parent project if this is a subproject | | +| `currency` | [OptionalNullable[models.Currency]](../models/currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `budget_amount` | *OptionalNullable[float]* | :heavy_minus_sign: | Total budgeted amount for the project | 50000 | +| `approved_amount` | *OptionalNullable[float]* | :heavy_minus_sign: | Approved budget amount for the project | 48000 | +| `budget_hours` | *OptionalNullable[float]* | :heavy_minus_sign: | Total budgeted hours for the project | 400 | +| `hourly_rate` | *OptionalNullable[float]* | :heavy_minus_sign: | Default hourly rate for project work | 125 | +| `billing_method` | [OptionalNullable[models.ProjectUpdateInputBillingMethod]](../models/projectupdateinputbillingmethod.md) | :heavy_minus_sign: | Method used for billing this project | time_and_materials | +| `is_billable` | *OptionalNullable[bool]* | :heavy_minus_sign: | Indicates if the project is billable to the customer | true | +| `phase` | [OptionalNullable[models.ProjectUpdateInputProjectPhase]](../models/projectupdateinputprojectphase.md) | :heavy_minus_sign: | Current phase of the project lifecycle | execution | +| `tax_rate` | [Optional[models.LinkedTaxRateInput]](../models/linkedtaxrateinput.md) | :heavy_minus_sign: | N/A | | +| `tracking_categories` | List[[Nullable[models.LinkedTrackingCategory]](../models/linkedtrackingcategory.md)] | :heavy_minus_sign: | A list of linked tracking categories. | | +| `tags` | List[*str*] | :heavy_minus_sign: | Tags associated with the project | [
"website",
"redesign",
"urgent"
] | +| `notes` | *OptionalNullable[str]* | :heavy_minus_sign: | Additional notes about the project | Client has requested modern design with mobile-first approach | +| `contract_number` | *OptionalNullable[str]* | :heavy_minus_sign: | Contract or agreement number associated with the project | CNT-2024-001 | +| `profit_margin` | *OptionalNullable[float]* | :heavy_minus_sign: | Expected profit margin percentage for the project | 15.5 | +| `schedule_status` | [OptionalNullable[models.ProjectUpdateInputScheduleStatus]](../models/projectupdateinputschedulestatus.md) | :heavy_minus_sign: | Current status of project schedule compared to plan | on_schedule | +| `addresses` | List[[models.Address](../models/address.md)] | :heavy_minus_sign: | An array of addresses associated with the project (billing, job site, etc.) | | +| `team_size` | *OptionalNullable[int]* | :heavy_minus_sign: | Number of team members assigned to the project | 8 | +| `custom_fields` | List[[models.CustomField](../models/customfield.md)] | :heavy_minus_sign: | N/A | | +| `row_version` | *OptionalNullable[str]* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | \ No newline at end of file diff --git a/docs/models/projectupdateinputbillingmethod.md b/docs/models/projectupdateinputbillingmethod.md new file mode 100644 index 000000000..38ed40fcc --- /dev/null +++ b/docs/models/projectupdateinputbillingmethod.md @@ -0,0 +1,14 @@ +# ProjectUpdateInputBillingMethod + +Method used for billing this project + + +## Values + +| Name | Value | +| -------------------- | -------------------- | +| `FIXED_PRICE` | fixed_price | +| `TIME_AND_MATERIALS` | time_and_materials | +| `MILESTONE_BASED` | milestone_based | +| `RETAINER` | retainer | +| `NON_BILLABLE` | non_billable | \ No newline at end of file diff --git a/docs/models/projectupdateinputdepartment.md b/docs/models/projectupdateinputdepartment.md new file mode 100644 index 000000000..4293117f0 --- /dev/null +++ b/docs/models/projectupdateinputdepartment.md @@ -0,0 +1,11 @@ +# ProjectUpdateInputDepartment + +Department or organizational unit associated with the project + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | +| `id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for the department | DEPT-001 | +| `name` | *Optional[str]* | :heavy_minus_sign: | Name of the department | Marketing | \ No newline at end of file diff --git a/docs/models/projectupdateinputparentproject.md b/docs/models/projectupdateinputparentproject.md new file mode 100644 index 000000000..ccd54f283 --- /dev/null +++ b/docs/models/projectupdateinputparentproject.md @@ -0,0 +1,11 @@ +# ProjectUpdateInputParentProject + +Parent project if this is a subproject + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| `id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for the parent project | PROJ-PARENT-001 | +| `name` | *Optional[str]* | :heavy_minus_sign: | Name of the parent project | Company Website Overhaul | \ No newline at end of file diff --git a/docs/models/projectupdateinputpriority.md b/docs/models/projectupdateinputpriority.md new file mode 100644 index 000000000..4a154015a --- /dev/null +++ b/docs/models/projectupdateinputpriority.md @@ -0,0 +1,13 @@ +# ProjectUpdateInputPriority + +Priority level of the project + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `LOW` | low | +| `MEDIUM` | medium | +| `HIGH` | high | +| `CRITICAL` | critical | \ No newline at end of file diff --git a/docs/models/projectupdateinputprojectphase.md b/docs/models/projectupdateinputprojectphase.md new file mode 100644 index 000000000..4a47bc662 --- /dev/null +++ b/docs/models/projectupdateinputprojectphase.md @@ -0,0 +1,15 @@ +# ProjectUpdateInputProjectPhase + +Current phase of the project lifecycle + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `INITIATION` | initiation | +| `PLANNING` | planning | +| `EXECUTION` | execution | +| `MONITORING` | monitoring | +| `CLOSURE` | closure | +| `OTHER` | other | \ No newline at end of file diff --git a/docs/models/projectupdateinputprojectstatus.md b/docs/models/projectupdateinputprojectstatus.md new file mode 100644 index 000000000..f28126cba --- /dev/null +++ b/docs/models/projectupdateinputprojectstatus.md @@ -0,0 +1,17 @@ +# ProjectUpdateInputProjectStatus + +Current status of the project + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `ACTIVE` | active | +| `COMPLETED` | completed | +| `ON_HOLD` | on_hold | +| `CANCELLED` | cancelled | +| `DRAFT` | draft | +| `IN_PROGRESS` | in_progress | +| `APPROVED` | approved | +| `OTHER` | other | \ No newline at end of file diff --git a/docs/models/projectupdateinputprojecttype.md b/docs/models/projectupdateinputprojecttype.md new file mode 100644 index 000000000..6744ddf1b --- /dev/null +++ b/docs/models/projectupdateinputprojecttype.md @@ -0,0 +1,15 @@ +# ProjectUpdateInputProjectType + +Type or category of the project + + +## Values + +| Name | Value | +| ---------------------- | ---------------------- | +| `CLIENT_PROJECT` | client_project | +| `INTERNAL_PROJECT` | internal_project | +| `MAINTENANCE` | maintenance | +| `RESEARCH_DEVELOPMENT` | research_development | +| `TRAINING` | training | +| `OTHER` | other | \ No newline at end of file diff --git a/docs/models/projectupdateinputschedulestatus.md b/docs/models/projectupdateinputschedulestatus.md new file mode 100644 index 000000000..aa826f70c --- /dev/null +++ b/docs/models/projectupdateinputschedulestatus.md @@ -0,0 +1,13 @@ +# ProjectUpdateInputScheduleStatus + +Current status of project schedule compared to plan + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `AHEAD_OF_SCHEDULE` | ahead_of_schedule | +| `ON_SCHEDULE` | on_schedule | +| `BEHIND_SCHEDULE` | behind_schedule | +| `CRITICAL_DELAY` | critical_delay | \ No newline at end of file diff --git a/docs/models/refundupdateinput.md b/docs/models/refundupdateinput.md new file mode 100644 index 000000000..878ec64b2 --- /dev/null +++ b/docs/models/refundupdateinput.md @@ -0,0 +1,41 @@ +# RefundUpdateInput + +The writable shape of Refund for a single-record update. Identical to the model with the read-only properties removed and no required properties, because PATCH is partial and the API already validates it that way. + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `number` | *OptionalNullable[str]* | :heavy_minus_sign: | Reference number for the refund. | RF-00001 | +| `customer` | [OptionalNullable[models.LinkedCustomerInput]](../models/linkedcustomerinput.md) | :heavy_minus_sign: | The customer this entity is linked to. | | +| `company_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The company ID the transaction belongs to | 12345 | +| `currency` | [OptionalNullable[models.Currency]](../models/currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `currency_rate` | *OptionalNullable[float]* | :heavy_minus_sign: | Currency Exchange Rate at the time entity was recorded/generated. | 0.69 | +| `tax_inclusive` | *OptionalNullable[bool]* | :heavy_minus_sign: | Amounts are including tax | true | +| `sub_total` | *OptionalNullable[float]* | :heavy_minus_sign: | Subtotal amount, normally before tax. | 250 | +| `total_amount` | *OptionalNullable[float]* | :heavy_minus_sign: | The total amount of the transaction or record | 49.99 | +| `total_tax` | *OptionalNullable[float]* | :heavy_minus_sign: | Total tax amount applied to this transaction. | 25 | +| `refund_date` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | The date of the refund - YYYY-MM-DDThh:mm:ss.sTZD | 2021-05-01T12:00:00.000Z | +| `status` | [Optional[models.RefundStatus]](../models/refundstatus.md) | :heavy_minus_sign: | Status of refund. Maps to: QBO (limited status), NetSuite CashRefund status, Sage Intacct state (draft/posted/voided), Zoho Books vis_state. | paid | +| `type` | [Optional[models.RefundType]](../models/refundtype.md) | :heavy_minus_sign: | Type of refund. `refund_receipt` for itemized refunds with product/service lines and payment (QBO RefundReceipt; also NetSuite's apply-list-based CustomerRefund). `cash_refund` for cash-out refunds with GL distribution or allocations (Sage Intacct). `credit_note_refund` for refunds applied against a credit note (Zoho Books). `sale_refund` for itemized refunds tied to a cash sale or return authorization, without an apply-list (NetSuite CashRefund) — NetSuite's apply-list-based CustomerRefund reports as `refund_receipt` instead. | refund_receipt | +| `payment_method` | *OptionalNullable[str]* | :heavy_minus_sign: | Payment method used for the transaction, such as cash, credit card, bank transfer, or check | cash | +| `payment_method_reference` | *OptionalNullable[str]* | :heavy_minus_sign: | Optional reference message returned by payment method on processing | 123456 | +| `payment_method_id` | *OptionalNullable[str]* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `account` | [OptionalNullable[models.LinkedLedgerAccount]](../models/linkedledgeraccount.md) | :heavy_minus_sign: | N/A | | +| `line_items` | List[[models.InvoiceLineItemInput](../models/invoicelineiteminput.md)] | :heavy_minus_sign: | Line items for itemized refunds (type: refund_receipt or sale_refund). Used when the refund includes product/service details with quantities and pricing. Supported by QBO RefundReceipt and NetSuite CashRefund. | | +| `allocations` | List[[models.AllocationInput](../models/allocationinput.md)] | :heavy_minus_sign: | Allocations linking refund to existing documents (invoices, credit notes, overpayments). Used for credit_note_refund and cash_refund types where the refund is applied against prior transactions. Supported by Sage Intacct and Zoho Books. | | +| `tax_code` | *OptionalNullable[str]* | :heavy_minus_sign: | Applicable tax id/code override if tax is not supplied on a line item basis. | 1234 | +| `discount_percentage` | *OptionalNullable[float]* | :heavy_minus_sign: | Discount percentage applied to this refund. | 5.5 | +| `discount_amount` | *OptionalNullable[float]* | :heavy_minus_sign: | Discount amount applied to this refund. | 25 | +| `note` | *OptionalNullable[str]* | :heavy_minus_sign: | Optional note to be associated with the refund. | Refund for returned items | +| `customer_memo` | *OptionalNullable[str]* | :heavy_minus_sign: | Customer memo | Thank you for your business and have a great day! | +| `reference` | *OptionalNullable[str]* | :heavy_minus_sign: | Optional reference message for the refund. | REF-123456 | +| `billing_address` | [Optional[models.Address]](../models/address.md) | :heavy_minus_sign: | N/A | | +| `shipping_address` | [Optional[models.Address]](../models/address.md) | :heavy_minus_sign: | N/A | | +| `department` | [OptionalNullable[models.LinkedDepartmentInput]](../models/linkeddepartmentinput.md) | :heavy_minus_sign: | N/A | | +| `location` | [OptionalNullable[models.LinkedLocationInput]](../models/linkedlocationinput.md) | :heavy_minus_sign: | N/A | | +| `tracking_categories` | List[[Nullable[models.LinkedTrackingCategory]](../models/linkedtrackingcategory.md)] | :heavy_minus_sign: | A list of linked tracking categories. | | +| `custom_fields` | List[[models.CustomField](../models/customfield.md)] | :heavy_minus_sign: | N/A | | +| `row_version` | *OptionalNullable[str]* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `pass_through` | List[[models.PassThroughBody](../models/passthroughbody.md)] | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/models/salesreceiptupdateinput.md b/docs/models/salesreceiptupdateinput.md new file mode 100644 index 000000000..7f4b8c8e8 --- /dev/null +++ b/docs/models/salesreceiptupdateinput.md @@ -0,0 +1,36 @@ +# SalesReceiptUpdateInput + +The writable shape of SalesReceipt for a single-record update. Identical to the model with the read-only properties removed and no required properties, because PATCH is partial and the API already validates it that way. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `number` | *OptionalNullable[str]* | :heavy_minus_sign: | Reference number for the sales receipt. | SR-00001 | +| `customer` | [OptionalNullable[models.LinkedCustomerInput]](../models/linkedcustomerinput.md) | :heavy_minus_sign: | The customer this entity is linked to. | | +| `currency` | [OptionalNullable[models.Currency]](../models/currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | +| `currency_rate` | *OptionalNullable[float]* | :heavy_minus_sign: | Currency Exchange Rate at the time entity was recorded/generated. | 0.69 | +| `tax_inclusive` | *OptionalNullable[bool]* | :heavy_minus_sign: | Amounts are including tax | true | +| `sub_total` | *OptionalNullable[float]* | :heavy_minus_sign: | Subtotal amount, normally before tax. | 250 | +| `total_amount` | *OptionalNullable[float]* | :heavy_minus_sign: | The total amount of the transaction or record | 49.99 | +| `total_tax` | *OptionalNullable[float]* | :heavy_minus_sign: | Total tax amount applied to this transaction. | 25 | +| `transaction_date` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | The date of the sales receipt transaction - YYYY-MM-DDThh:mm:ss.sTZD | 2021-05-01T12:00:00.000Z | +| `payment_method` | *OptionalNullable[str]* | :heavy_minus_sign: | Payment method used for the transaction, such as cash, credit card, bank transfer, or check | cash | +| `payment_method_reference` | *OptionalNullable[str]* | :heavy_minus_sign: | Optional reference message returned by payment method on processing | 123456 | +| `payment_method_id` | *OptionalNullable[str]* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | +| `account` | [OptionalNullable[models.LinkedLedgerAccount]](../models/linkedledgeraccount.md) | :heavy_minus_sign: | N/A | | +| `line_items` | List[[models.InvoiceLineItemInput](../models/invoicelineiteminput.md)] | :heavy_minus_sign: | Line items for itemized sales receipts. Used when the sales receipt includes product/service details with quantities and pricing. | | +| `tax_code` | *OptionalNullable[str]* | :heavy_minus_sign: | Applicable tax id/code override if tax is not supplied on a line item basis. | 1234 | +| `discount_percentage` | *OptionalNullable[float]* | :heavy_minus_sign: | Discount percentage applied to this sales receipt. | 5.5 | +| `discount_amount` | *OptionalNullable[float]* | :heavy_minus_sign: | Discount amount applied to this sales receipt. | 25 | +| `note` | *OptionalNullable[str]* | :heavy_minus_sign: | Optional note to be associated with the sales receipt. | Thank you for your purchase | +| `customer_memo` | *OptionalNullable[str]* | :heavy_minus_sign: | Customer memo | Thank you for your business and have a great day! | +| `reference` | *OptionalNullable[str]* | :heavy_minus_sign: | Optional reference message for the sales receipt. | REF-123456 | +| `billing_address` | [Optional[models.Address]](../models/address.md) | :heavy_minus_sign: | N/A | | +| `shipping_address` | [Optional[models.Address]](../models/address.md) | :heavy_minus_sign: | N/A | | +| `department` | [OptionalNullable[models.LinkedDepartmentInput]](../models/linkeddepartmentinput.md) | :heavy_minus_sign: | N/A | | +| `tracking_categories` | List[[Nullable[models.LinkedTrackingCategory]](../models/linkedtrackingcategory.md)] | :heavy_minus_sign: | A list of linked tracking categories. | | +| `custom_fields` | List[[models.CustomField](../models/customfield.md)] | :heavy_minus_sign: | N/A | | +| `row_version` | *OptionalNullable[str]* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | +| `pass_through` | List[[models.PassThroughBody](../models/passthroughbody.md)] | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | \ No newline at end of file diff --git a/docs/sdks/billpayments/README.md b/docs/sdks/billpayments/README.md index b78aeb6bc..01b9905cb 100644 --- a/docs/sdks/billpayments/README.md +++ b/docs/sdks/billpayments/README.md @@ -413,11 +413,11 @@ with Apideck( api_key=os.getenv("APIDECK_API_KEY", ""), ) as apideck: - res = apideck.accounting.bill_payments.update(id="", total_amount=49.99, transaction_date=parse_datetime("2021-05-01T12:00:00.000Z"), service_id="salesforce", raw=False, currency=apideck_unify.Currency.USD, currency_rate=0.69, reference="123456", payment_method="cash", payment_method_reference="123456", payment_method_id="12345", account={ + res = apideck.accounting.bill_payments.update(id="", service_id="salesforce", raw=False, currency=apideck_unify.Currency.USD, currency_rate=0.69, total_amount=49.99, reference="123456", payment_method="cash", payment_method_reference="123456", payment_method_id="12345", account={ "id": "123456", "nominal_code": "N091", "code": "453", - }, supplier={ + }, transaction_date=parse_datetime("2021-05-01T12:00:00.000Z"), supplier={ "id": "12345", "display_name": "Windsurf Shop", "address": { @@ -449,10 +449,10 @@ with Apideck( }, company_id="12345", subsidiary={ "display_id": "123456", "name": "Acme Inc.", - }, reconciled=True, status=apideck_unify.PaymentStatus.AUTHORISED, type_=apideck_unify.BillPaymentType.ACCOUNTS_PAYABLE, allocations=[ + }, reconciled=True, status=apideck_unify.PaymentStatus.AUTHORISED, type_=apideck_unify.BillPaymentUpdateInputBillPaymentType.ACCOUNTS_PAYABLE, allocations=[ { "id": "12345", - "type": apideck_unify.BillPaymentAllocationType.BILL, + "type": apideck_unify.BillPaymentUpdateInputAllocationType.BILL, "amount": 49.99, "allocation_id": "123456", }, @@ -528,26 +528,26 @@ with Apideck( | Parameter | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | ID of the record you are acting upon. | | -| `total_amount` | *Nullable[float]* | :heavy_check_mark: | The total amount of the transaction or record | 49.99 | -| `transaction_date` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD | 2021-05-01T12:00:00.000Z | | `consumer_id` | *Optional[str]* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | | `app_id` | *Optional[str]* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | | `service_id` | *Optional[str]* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | | `raw` | *Optional[bool]* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | | `currency` | [OptionalNullable[models.Currency]](../../models/currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | | `currency_rate` | *OptionalNullable[float]* | :heavy_minus_sign: | Currency Exchange Rate at the time entity was recorded/generated. | 0.69 | +| `total_amount` | *OptionalNullable[float]* | :heavy_minus_sign: | The total amount of the transaction or record | 49.99 | | `reference` | *OptionalNullable[str]* | :heavy_minus_sign: | Optional transaction reference message ie: Debit remittance detail. | 123456 | | `payment_method` | *OptionalNullable[str]* | :heavy_minus_sign: | Payment method used for the transaction, such as cash, credit card, bank transfer, or check | cash | | `payment_method_reference` | *OptionalNullable[str]* | :heavy_minus_sign: | Optional reference message returned by payment method on processing | 123456 | | `payment_method_id` | *OptionalNullable[str]* | :heavy_minus_sign: | A unique identifier for an object. | 12345 | | `account` | [OptionalNullable[models.LinkedLedgerAccount]](../../models/linkedledgeraccount.md) | :heavy_minus_sign: | N/A | | +| `transaction_date` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD | 2021-05-01T12:00:00.000Z | | `supplier` | [OptionalNullable[models.LinkedSupplierInput]](../../models/linkedsupplierinput.md) | :heavy_minus_sign: | The supplier this entity is linked to. | | | `company_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The company ID the transaction belongs to | 12345 | | `subsidiary` | [OptionalNullable[models.LinkedSubsidiaryInput]](../../models/linkedsubsidiaryinput.md) | :heavy_minus_sign: | N/A | | | `reconciled` | *OptionalNullable[bool]* | :heavy_minus_sign: | Indicates if the transaction has been reconciled. | true | | `status` | [Optional[models.PaymentStatus]](../../models/paymentstatus.md) | :heavy_minus_sign: | Status of payment | authorised | -| `type` | [Optional[models.BillPaymentType]](../../models/billpaymenttype.md) | :heavy_minus_sign: | Type of payment | accounts_payable | -| `allocations` | List[[models.BillPaymentAllocations](../../models/billpaymentallocations.md)] | :heavy_minus_sign: | N/A | | +| `type` | [Optional[models.BillPaymentUpdateInputBillPaymentType]](../../models/billpaymentupdateinputbillpaymenttype.md) | :heavy_minus_sign: | Type of payment | accounts_payable | +| `allocations` | List[[models.BillPaymentUpdateInputAllocations](../../models/billpaymentupdateinputallocations.md)] | :heavy_minus_sign: | N/A | | | `note` | *OptionalNullable[str]* | :heavy_minus_sign: | Note associated with the transaction | Some notes about this transaction | | `number` | *OptionalNullable[str]* | :heavy_minus_sign: | Number associated with the transaction | 123456 | | `tracking_categories` | List[[Nullable[models.LinkedTrackingCategory]](../../models/linkedtrackingcategory.md)] | :heavy_minus_sign: | A list of linked tracking categories. | | diff --git a/docs/sdks/creditnotes/README.md b/docs/sdks/creditnotes/README.md index 310e47c4a..35d05ff02 100644 --- a/docs/sdks/creditnotes/README.md +++ b/docs/sdks/creditnotes/README.md @@ -490,14 +490,14 @@ with Apideck( api_key=os.getenv("APIDECK_API_KEY", ""), ) as apideck: - res = apideck.accounting.credit_notes.update(id="", total_amount=49.99, service_id="salesforce", raw=False, number="OIT00546", customer={ + res = apideck.accounting.credit_notes.update(id="", service_id="salesforce", raw=False, number="OIT00546", customer={ "id": "12345", "display_name": "Windsurf Shop", "email": "boring@boring.com", }, company_id="12345", subsidiary={ "display_id": "123456", "name": "Acme Inc.", - }, location_id="12345", department_id="12345", currency=apideck_unify.Currency.USD, currency_rate=0.69, tax_inclusive=True, sub_total=27500, total_tax=2500, tax_code="1234", balance=27500, remaining_credit=27500, status=apideck_unify.CreditNoteStatus.AUTHORISED, reference="123456", date_issued=parse_datetime("2021-05-01T12:00:00.000Z"), date_paid=parse_datetime("2021-05-01T12:00:00.000Z"), type_=apideck_unify.CreditNoteType.ACCOUNTS_RECEIVABLE_CREDIT, account={ + }, location_id="12345", department_id="12345", currency=apideck_unify.Currency.USD, currency_rate=0.69, tax_inclusive=True, sub_total=27500, total_amount=49.99, total_tax=2500, tax_code="1234", balance=27500, remaining_credit=27500, status=apideck_unify.CreditNoteUpdateInputCreditNoteStatus.AUTHORISED, reference="123456", date_issued=parse_datetime("2021-05-01T12:00:00.000Z"), date_paid=parse_datetime("2021-05-01T12:00:00.000Z"), type_=apideck_unify.CreditNoteUpdateInputCreditNoteType.ACCOUNTS_RECEIVABLE_CREDIT, account={ "id": "123456", "nominal_code": "N091", "code": "453", @@ -775,7 +775,6 @@ with Apideck( | Parameter | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | ID of the record you are acting upon. | | -| `total_amount` | *float* | :heavy_check_mark: | Amount of transaction | 49.99 | | `consumer_id` | *Optional[str]* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | | `app_id` | *Optional[str]* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | | `service_id` | *Optional[str]* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | @@ -790,15 +789,16 @@ with Apideck( | `currency_rate` | *OptionalNullable[float]* | :heavy_minus_sign: | Currency Exchange Rate at the time entity was recorded/generated. | 0.69 | | `tax_inclusive` | *OptionalNullable[bool]* | :heavy_minus_sign: | Amounts are including tax | true | | `sub_total` | *OptionalNullable[float]* | :heavy_minus_sign: | Sub-total amount, normally before tax. | 27500 | +| `total_amount` | *Optional[float]* | :heavy_minus_sign: | Amount of transaction | 49.99 | | `total_tax` | *OptionalNullable[float]* | :heavy_minus_sign: | Total tax amount applied to this invoice. | 2500 | | `tax_code` | *OptionalNullable[str]* | :heavy_minus_sign: | Applicable tax id/code override if tax is not supplied on a line item basis. | 1234 | | `balance` | *OptionalNullable[float]* | :heavy_minus_sign: | The balance reflecting any payments made against the transaction. | 27500 | | `remaining_credit` | *OptionalNullable[float]* | :heavy_minus_sign: | Indicates the total credit amount still available to apply towards the payment. | 27500 | -| `status` | [Optional[models.CreditNoteStatus]](../../models/creditnotestatus.md) | :heavy_minus_sign: | Status of credit notes | authorised | +| `status` | [Optional[models.CreditNoteUpdateInputCreditNoteStatus]](../../models/creditnoteupdateinputcreditnotestatus.md) | :heavy_minus_sign: | Status of credit notes | authorised | | `reference` | *OptionalNullable[str]* | :heavy_minus_sign: | Optional reference message ie: Debit remittance detail. | 123456 | | `date_issued` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Date credit note issued - YYYY:MM::DDThh:mm:ss.sTZD | 2021-05-01T12:00:00.000Z | | `date_paid` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Date credit note paid - YYYY:MM::DDThh:mm:ss.sTZD | 2021-05-01T12:00:00.000Z | -| `type` | [Optional[models.CreditNoteType]](../../models/creditnotetype.md) | :heavy_minus_sign: | Whether this credit note reduces an amount owed by a customer (accounts receivable) or owed to a supplier (accounts payable). `accounts_payable_credit` support is connector-specific — most connectors only expose the accounts-receivable side. Check the connector's gotchas for known deviations. | accounts_receivable_credit | +| `type` | [Optional[models.CreditNoteUpdateInputCreditNoteType]](../../models/creditnoteupdateinputcreditnotetype.md) | :heavy_minus_sign: | Whether this credit note reduces an amount owed by a customer (accounts receivable) or owed to a supplier (accounts payable). `accounts_payable_credit` support is connector-specific — most connectors only expose the accounts-receivable side. Check the connector's gotchas for known deviations. | accounts_receivable_credit | | `account` | [OptionalNullable[models.LinkedLedgerAccount]](../../models/linkedledgeraccount.md) | :heavy_minus_sign: | N/A | | | `line_items` | List[[models.InvoiceLineItemInput](../../models/invoicelineiteminput.md)] | :heavy_minus_sign: | N/A | | | `allocations` | List[[models.AllocationInput](../../models/allocationinput.md)] | :heavy_minus_sign: | N/A | | diff --git a/docs/sdks/expensecategories/README.md b/docs/sdks/expensecategories/README.md index 907f50ec6..030c930d5 100644 --- a/docs/sdks/expensecategories/README.md +++ b/docs/sdks/expensecategories/README.md @@ -245,7 +245,7 @@ with Apideck( api_key=os.getenv("APIDECK_API_KEY", ""), ) as apideck: - res = apideck.accounting.expense_categories.update(id="", name="Travel", service_id="salesforce", raw=False, display_id="123456", code="TRAVEL-001", description="Travel-related expenses including flights, hotels, and ground transportation.", status=apideck_unify.ExpenseCategoryStatus.ACTIVE, account={ + res = apideck.accounting.expense_categories.update(id="", service_id="salesforce", raw=False, display_id="123456", name="Travel", code="TRAVEL-001", description="Travel-related expenses including flights, hotels, and ground transportation.", status=apideck_unify.ExpenseCategoryUpdateInputStatus.ACTIVE, account={ "id": "123456", "name": "Bank account", "nominal_code": "N091", @@ -291,15 +291,15 @@ with Apideck( | Parameter | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | ID of the record you are acting upon. | | -| `name` | *str* | :heavy_check_mark: | The name of the expense category. | Travel | | `consumer_id` | *Optional[str]* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | | `app_id` | *Optional[str]* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | | `service_id` | *Optional[str]* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | | `raw` | *Optional[bool]* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | | `display_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Id to be displayed. | 123456 | +| `name` | *Optional[str]* | :heavy_minus_sign: | The name of the expense category. | Travel | | `code` | *OptionalNullable[str]* | :heavy_minus_sign: | The code or external identifier of the expense category. | TRAVEL-001 | | `description` | *OptionalNullable[str]* | :heavy_minus_sign: | The description of the expense category. | Travel-related expenses including flights, hotels, and ground transportation. | -| `status` | [OptionalNullable[models.ExpenseCategoryStatus]](../../models/expensecategorystatus.md) | :heavy_minus_sign: | The status of the expense category. | active | +| `status` | [OptionalNullable[models.ExpenseCategoryUpdateInputStatus]](../../models/expensecategoryupdateinputstatus.md) | :heavy_minus_sign: | The status of the expense category. | active | | `account` | [OptionalNullable[models.LinkedLedgerAccount]](../../models/linkedledgeraccount.md) | :heavy_minus_sign: | N/A | | | `offset_account` | [OptionalNullable[models.LinkedLedgerAccount]](../../models/linkedledgeraccount.md) | :heavy_minus_sign: | N/A | | | `tax_rate` | [Optional[models.LinkedTaxRateInput]](../../models/linkedtaxrateinput.md) | :heavy_minus_sign: | N/A | | diff --git a/docs/sdks/expensereports/README.md b/docs/sdks/expensereports/README.md index 80ab36c67..6f43d2df8 100644 --- a/docs/sdks/expensereports/README.md +++ b/docs/sdks/expensereports/README.md @@ -281,10 +281,10 @@ with Apideck( api_key=os.getenv("APIDECK_API_KEY", ""), ) as apideck: - res = apideck.accounting.expense_reports.update(id="", employee={ + res = apideck.accounting.expense_reports.update(id="", service_id="salesforce", raw=False, display_id="123456", number="ER-001", title="Q1 Business Travel", employee={ "id": "12345", "display_name": "John Doe", - }, transaction_date=parse_datetime("2021-05-01T12:00:00.000Z"), line_items=[], service_id="salesforce", raw=False, display_id="123456", number="ER-001", title="Q1 Business Travel", status=apideck_unify.ExpenseReportStatus.SUBMITTED, posting_date=date.fromisoformat("2024-06-01"), due_date=date.fromisoformat("2024-06-15"), currency=apideck_unify.Currency.USD, currency_rate=0.69, sub_total=250, total_tax=25, total_amount=1250.75, reimbursable_amount=1100, memo="Business travel expenses for Q1 client meetings", department={ + }, status=apideck_unify.ExpenseReportUpdateInputStatus.SUBMITTED, transaction_date=parse_datetime("2021-05-01T12:00:00.000Z"), posting_date=date.fromisoformat("2024-06-01"), due_date=date.fromisoformat("2024-06-15"), currency=apideck_unify.Currency.USD, currency_rate=0.69, sub_total=250, total_tax=25, total_amount=1250.75, reimbursable_amount=1100, memo="Business travel expenses for Q1 client meetings", department={ "display_id": "123456", "name": "Acme Inc.", }, location={ @@ -301,7 +301,7 @@ with Apideck( }, accounting_period={ "id": "12345", "name": "Q1 2024", - }, reference="INV-2024-001", subsidiary={ + }, line_items=[], reference="INV-2024-001", subsidiary={ "display_id": "123456", "name": "Acme Inc.", }, tracking_categories=None, tax_inclusive=True, approved_by={ @@ -342,9 +342,6 @@ with Apideck( | Parameter | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | ID of the record you are acting upon. | | -| `employee` | [models.ExpenseReportEmployee](../../models/expensereportemployee.md) | :heavy_check_mark: | The employee who submitted the expense report. | | -| `transaction_date` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD | 2021-05-01T12:00:00.000Z | -| `line_items` | List[[models.ExpenseReportLineItemInput](../../models/expensereportlineiteminput.md)] | :heavy_check_mark: | Expense line items linked to this expense report. | | | `consumer_id` | *Optional[str]* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | | `app_id` | *Optional[str]* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | | `service_id` | *Optional[str]* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | @@ -352,7 +349,9 @@ with Apideck( | `display_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Id to be displayed. | 123456 | | `number` | *OptionalNullable[str]* | :heavy_minus_sign: | The expense report number. | ER-001 | | `title` | *OptionalNullable[str]* | :heavy_minus_sign: | Title or purpose of the expense report. | Q1 Business Travel | -| `status` | [OptionalNullable[models.ExpenseReportStatus]](../../models/expensereportstatus.md) | :heavy_minus_sign: | The status of the expense report. | submitted | +| `employee` | [Optional[models.ExpenseReportUpdateInputEmployee]](../../models/expensereportupdateinputemployee.md) | :heavy_minus_sign: | The employee who submitted the expense report. | | +| `status` | [OptionalNullable[models.ExpenseReportUpdateInputStatus]](../../models/expensereportupdateinputstatus.md) | :heavy_minus_sign: | The status of the expense report. | submitted | +| `transaction_date` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD | 2021-05-01T12:00:00.000Z | | `posting_date` | [datetime](https://docs.python.org/3/library/datetime.html#datetime-objects) | :heavy_minus_sign: | The date the expense report was posted to the general ledger. | 2024-06-01 | | `due_date` | [datetime](https://docs.python.org/3/library/datetime.html#datetime-objects) | :heavy_minus_sign: | Date when reimbursement is due. | 2024-06-15 | | `currency` | [OptionalNullable[models.Currency]](../../models/currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | @@ -365,12 +364,13 @@ with Apideck( | `department` | [OptionalNullable[models.LinkedDepartmentInput]](../../models/linkeddepartmentinput.md) | :heavy_minus_sign: | N/A | | | `location` | [OptionalNullable[models.LinkedLocationInput]](../../models/linkedlocationinput.md) | :heavy_minus_sign: | N/A | | | `account` | [OptionalNullable[models.LinkedLedgerAccount]](../../models/linkedledgeraccount.md) | :heavy_minus_sign: | N/A | | -| `accounting_period` | [OptionalNullable[models.AccountingPeriod]](../../models/accountingperiod.md) | :heavy_minus_sign: | The accounting period the expense report is posted to. | | +| `accounting_period` | [OptionalNullable[models.ExpenseReportUpdateInputAccountingPeriod]](../../models/expensereportupdateinputaccountingperiod.md) | :heavy_minus_sign: | The accounting period the expense report is posted to. | | +| `line_items` | List[[models.ExpenseReportLineItemInput](../../models/expensereportlineiteminput.md)] | :heavy_minus_sign: | Expense line items linked to this expense report. | | | `reference` | *OptionalNullable[str]* | :heavy_minus_sign: | Optional reference identifier for the transaction. | INV-2024-001 | | `subsidiary` | [OptionalNullable[models.LinkedSubsidiaryInput]](../../models/linkedsubsidiaryinput.md) | :heavy_minus_sign: | N/A | | | `tracking_categories` | List[[Nullable[models.LinkedTrackingCategory]](../../models/linkedtrackingcategory.md)] | :heavy_minus_sign: | A list of linked tracking categories. | | | `tax_inclusive` | *OptionalNullable[bool]* | :heavy_minus_sign: | Amounts are including tax | true | -| `approved_by` | [OptionalNullable[models.ApprovedBy]](../../models/approvedby.md) | :heavy_minus_sign: | The person who approved the expense report. | | +| `approved_by` | [OptionalNullable[models.ExpenseReportUpdateInputApprovedBy]](../../models/expensereportupdateinputapprovedby.md) | :heavy_minus_sign: | The person who approved the expense report. | | | `custom_fields` | List[[models.CustomField](../../models/customfield.md)] | :heavy_minus_sign: | N/A | | | `row_version` | *OptionalNullable[str]* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | | `pass_through` | List[[models.PassThroughBody](../../models/passthroughbody.md)] | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | diff --git a/docs/sdks/expenses/README.md b/docs/sdks/expenses/README.md index a3881b7b3..544d77569 100644 --- a/docs/sdks/expenses/README.md +++ b/docs/sdks/expenses/README.md @@ -402,31 +402,7 @@ with Apideck( api_key=os.getenv("APIDECK_API_KEY", ""), ) as apideck: - res = apideck.accounting.expenses.update(id="", transaction_date=parse_datetime("2021-05-01T12:00:00.000Z"), line_items=[ - { - "tracking_categories": [ - { - "id": "123456", - "name": "New York", - }, - { - "id": "123456", - "name": "New York", - }, - ], - "account_id": "123456", - "customer_id": "12345", - "department_id": "12345", - "location_id": "12345", - "tax_rate": { - "id": "123456", - "rate": 10, - }, - "description": "Travel US.", - "total_amount": 275, - "line_number": 1, - }, - ], service_id="salesforce", raw=False, display_id="123456", number="OIT00546", account_id="123456", account={ + res = apideck.accounting.expenses.update(id="", service_id="salesforce", raw=False, display_id="123456", number="OIT00546", transaction_date=parse_datetime("2021-05-01T12:00:00.000Z"), account_id="123456", account={ "id": "123456", "type": apideck_unify.LinkedFinancialAccountAccountType.LEDGER_ACCOUNT, "code": "1100", @@ -466,7 +442,7 @@ with Apideck( "id": "123456", "display_id": "123456", "name": "New York Office", - }, department_id="12345", department=None, payment_type=apideck_unify.ExpensePaymentType.CASH, currency=apideck_unify.Currency.USD, currency_rate=0.69, type_=apideck_unify.ExpenseType.EXPENSE, memo="For travel expenses incurred on 2024-05-15", tax_rate={ + }, department_id="12345", department=None, payment_type=apideck_unify.ExpenseUpdateInputPaymentType.CASH, currency=apideck_unify.Currency.USD, currency_rate=0.69, type_=apideck_unify.ExpenseUpdateInputExpenseType.EXPENSE, memo="For travel expenses incurred on 2024-05-15", tax_rate={ "id": "123456", "rate": 10, }, tax_inclusive=True, sub_total=250, total_tax=25, total_amount=275, tracking_categories=[ @@ -477,6 +453,30 @@ with Apideck( "parent_id": "123456", "parent_name": "New York", }, + ], line_items=[ + { + "tracking_categories": [ + { + "id": "123456", + "name": "New York", + }, + { + "id": "123456", + "name": "New York", + }, + ], + "account_id": "123456", + "customer_id": "12345", + "department_id": "12345", + "location_id": "12345", + "tax_rate": { + "id": "123456", + "rate": 10, + }, + "description": "Travel US.", + "total_amount": 275, + "line_number": 1, + }, ], reference="INV-2024-001", source_document_url="https://www.invoicesolution.com/expense/123456", custom_fields=[ { "id": "2389328923893298", @@ -496,7 +496,7 @@ with Apideck( "description": "Employee Level", "value": "Uses Salesforce and Marketo", }, - ], status=apideck_unify.ExpenseStatus.DRAFT, row_version="1-12345", pass_through=[ + ], status=apideck_unify.ExpenseUpdateInputStatus.DRAFT, row_version="1-12345", pass_through=[ { "service_id": "", "extend_paths": [ @@ -598,14 +598,13 @@ with Apideck( | Parameter | Type | Required | Description | Example | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | ID of the record you are acting upon. | | -| `transaction_date` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD | 2021-05-01T12:00:00.000Z | -| `line_items` | List[[models.ExpenseLineItemInput](../../models/expenselineiteminput.md)] | :heavy_check_mark: | Expense line items linked to this expense. | | | `consumer_id` | *Optional[str]* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | | `app_id` | *Optional[str]* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | | `service_id` | *Optional[str]* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | | `raw` | *Optional[bool]* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | | `display_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Id to be displayed. | 123456 | | `number` | *OptionalNullable[str]* | :heavy_minus_sign: | Number. | OIT00546 | +| `transaction_date` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD | 2021-05-01T12:00:00.000Z | | `account_id` | *Optional[str]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: Deprecated. Use account instead..

The unique identifier for the ledger account that this expense should be credited to. Deprecated, use account instead. | 123456 | | `account` | [OptionalNullable[models.LinkedFinancialAccountInput]](../../models/linkedfinancialaccountinput.md) | :heavy_minus_sign: | A flexible account reference that can represent a ledger account (GL account), a bank account, or an employee payable account, depending on the connector's requirements. | | | `supplier_id` | *Optional[str]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: Deprecated. Use supplier instead..

The ID of the supplier this entity is linked to. Deprecated, use supplier instead. | 12345 | @@ -614,10 +613,10 @@ with Apideck( | `location` | [OptionalNullable[models.LinkedLocationInput]](../../models/linkedlocationinput.md) | :heavy_minus_sign: | N/A | | | `department_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the department | 12345 | | `department` | [OptionalNullable[models.LinkedDepartmentInput]](../../models/linkeddepartmentinput.md) | :heavy_minus_sign: | N/A | | -| `payment_type` | [OptionalNullable[models.ExpensePaymentType]](../../models/expensepaymenttype.md) | :heavy_minus_sign: | The type of payment for the expense. | cash | +| `payment_type` | [OptionalNullable[models.ExpenseUpdateInputPaymentType]](../../models/expenseupdateinputpaymenttype.md) | :heavy_minus_sign: | The type of payment for the expense. | cash | | `currency` | [OptionalNullable[models.Currency]](../../models/currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | | `currency_rate` | *OptionalNullable[float]* | :heavy_minus_sign: | Currency Exchange Rate at the time entity was recorded/generated. | 0.69 | -| `type` | [OptionalNullable[models.ExpenseType]](../../models/expensetype.md) | :heavy_minus_sign: | The type of expense. | expense | +| `type` | [OptionalNullable[models.ExpenseUpdateInputExpenseType]](../../models/expenseupdateinputexpensetype.md) | :heavy_minus_sign: | The type of expense. | expense | | `memo` | *OptionalNullable[str]* | :heavy_minus_sign: | The memo of the expense. | For travel expenses incurred on 2024-05-15 | | `tax_rate` | [Optional[models.LinkedTaxRateInput]](../../models/linkedtaxrateinput.md) | :heavy_minus_sign: | N/A | | | `tax_inclusive` | *OptionalNullable[bool]* | :heavy_minus_sign: | Amounts are including tax | true | @@ -625,10 +624,11 @@ with Apideck( | `total_tax` | *OptionalNullable[float]* | :heavy_minus_sign: | Total tax amount applied to this transaction. | 25 | | `total_amount` | *OptionalNullable[float]* | :heavy_minus_sign: | The total amount of the expense line item. | 275 | | `tracking_categories` | List[[Nullable[models.LinkedTrackingCategory]](../../models/linkedtrackingcategory.md)] | :heavy_minus_sign: | A list of linked tracking categories. | | +| `line_items` | List[[models.ExpenseLineItemInput](../../models/expenselineiteminput.md)] | :heavy_minus_sign: | Expense line items linked to this expense. | | | `reference` | *OptionalNullable[str]* | :heavy_minus_sign: | Optional reference identifier for the transaction. | INV-2024-001 | | `source_document_url` | *OptionalNullable[str]* | :heavy_minus_sign: | URL link to a source document - shown as 'Go to [appName]' in the downstream app. Currently only supported for Xero. | https://www.invoicesolution.com/expense/123456 | | `custom_fields` | List[[models.CustomField](../../models/customfield.md)] | :heavy_minus_sign: | N/A | | -| `status` | [OptionalNullable[models.ExpenseStatus]](../../models/expensestatus.md) | :heavy_minus_sign: | Expense status | draft | +| `status` | [OptionalNullable[models.ExpenseUpdateInputStatus]](../../models/expenseupdateinputstatus.md) | :heavy_minus_sign: | Expense status | draft | | `row_version` | *OptionalNullable[str]* | :heavy_minus_sign: | A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. | 1-12345 | | `pass_through` | List[[models.PassThroughBody](../../models/passthroughbody.md)] | :heavy_minus_sign: | The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. | | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | diff --git a/docs/sdks/payments/README.md b/docs/sdks/payments/README.md index 6728adada..2181bd7c5 100644 --- a/docs/sdks/payments/README.md +++ b/docs/sdks/payments/README.md @@ -330,11 +330,11 @@ with Apideck( api_key=os.getenv("APIDECK_API_KEY", ""), ) as apideck: - res = apideck.accounting.payments.update(id="", total_amount=49.99, transaction_date=parse_datetime("2021-05-01T12:00:00.000Z"), service_id="salesforce", company_id_param="12345", raw=False, currency=apideck_unify.Currency.USD, currency_rate=0.69, reference="123456", payment_method="cash", payment_method_reference="123456", payment_method_id="12345", account={ + res = apideck.accounting.payments.update(id="", service_id="salesforce", company_id_param="12345", raw=False, currency=apideck_unify.Currency.USD, currency_rate=0.69, total_amount=49.99, reference="123456", payment_method="cash", payment_method_reference="123456", payment_method_id="12345", account={ "id": "123456", "nominal_code": "N091", "code": "453", - }, customer={ + }, transaction_date=parse_datetime("2021-05-01T12:00:00.000Z"), customer={ "id": "12345", "display_name": "Windsurf Shop", "email": "boring@boring.com", @@ -463,8 +463,6 @@ with Apideck( | Parameter | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *str* | :heavy_check_mark: | ID of the record you are acting upon. | | -| `total_amount` | *Nullable[float]* | :heavy_check_mark: | The total amount of the transaction or record | 49.99 | -| `transaction_date` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD | 2021-05-01T12:00:00.000Z | | `consumer_id` | *Optional[str]* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | | `app_id` | *Optional[str]* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | | `service_id` | *Optional[str]* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | @@ -472,6 +470,7 @@ with Apideck( | `raw` | *Optional[bool]* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | | `currency` | [OptionalNullable[models.Currency]](../../models/currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | | `currency_rate` | *OptionalNullable[float]* | :heavy_minus_sign: | Currency Exchange Rate at the time entity was recorded/generated. | 0.69 | +| `total_amount` | *OptionalNullable[float]* | :heavy_minus_sign: | The total amount of the transaction or record | 49.99 | | `reference` | *OptionalNullable[str]* | :heavy_minus_sign: | Optional transaction reference message ie: Debit remittance detail. | 123456 | | `payment_method` | *OptionalNullable[str]* | :heavy_minus_sign: | Payment method used for the transaction, such as cash, credit card, bank transfer, or check | cash | | `payment_method_reference` | *OptionalNullable[str]* | :heavy_minus_sign: | Optional reference message returned by payment method on processing | 123456 | @@ -479,6 +478,7 @@ with Apideck( | `accounts_receivable_account_type` | *OptionalNullable[str]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This field is deprecated and may be removed in a future version..

Type of accounts receivable account. | Account | | `accounts_receivable_account_id` | *OptionalNullable[str]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This field is deprecated and may be removed in a future version..

Unique identifier for the account to allocate payment to. | 123456 | | `account` | [OptionalNullable[models.LinkedLedgerAccount]](../../models/linkedledgeraccount.md) | :heavy_minus_sign: | N/A | | +| `transaction_date` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD | 2021-05-01T12:00:00.000Z | | `customer` | [OptionalNullable[models.LinkedCustomerInput]](../../models/linkedcustomerinput.md) | :heavy_minus_sign: | The customer this entity is linked to. | | | `supplier` | [OptionalNullable[models.DeprecatedLinkedSupplierInput]](../../models/deprecatedlinkedsupplierinput.md) | :heavy_minus_sign: | : warning: ** DEPRECATED **: This field is deprecated and may be removed in a future version..

The supplier this entity is linked to. | | | `company_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The company ID the transaction belongs to | 12345 | diff --git a/docs/sdks/projects/README.md b/docs/sdks/projects/README.md index 1eaa52a8c..ae66382ee 100644 --- a/docs/sdks/projects/README.md +++ b/docs/sdks/projects/README.md @@ -306,13 +306,13 @@ with Apideck( api_key=os.getenv("APIDECK_API_KEY", ""), ) as apideck: - res = apideck.accounting.projects.update(id="", name="Website Redesign Project", service_id="salesforce", company_id_param="12345", raw=False, display_id="PROJ-001", reference_id="WD-REF-2024-001", description="Complete redesign of the company website including new branding and improved user experience", status=apideck_unify.ProjectProjectStatus.ACTIVE, active=True, project_type=apideck_unify.ProjectType.CLIENT_PROJECT, priority=apideck_unify.Priority.HIGH, completion_percentage=75.5, start_date=date.fromisoformat("2024-01-15"), end_date=date.fromisoformat("2024-06-30"), completion_date=date.fromisoformat("2024-08-06"), customer=None, department={ + res = apideck.accounting.projects.update(id="", service_id="salesforce", company_id_param="12345", raw=False, name="Website Redesign Project", display_id="PROJ-001", reference_id="WD-REF-2024-001", description="Complete redesign of the company website including new branding and improved user experience", status=apideck_unify.ProjectUpdateInputProjectStatus.ACTIVE, active=True, project_type=apideck_unify.ProjectUpdateInputProjectType.CLIENT_PROJECT, priority=apideck_unify.ProjectUpdateInputPriority.HIGH, completion_percentage=75.5, start_date=date.fromisoformat("2024-01-15"), end_date=date.fromisoformat("2024-06-30"), completion_date=date.fromisoformat("2024-08-06"), customer=None, department={ "id": "DEPT-001", "name": "Marketing", }, company_id="12345", owner_id="12345", parent_project={ "id": "PROJ-PARENT-001", "name": "Company Website Overhaul", - }, currency=apideck_unify.Currency.USD, budget_amount=50000, approved_amount=48000, budget_hours=400, hourly_rate=125, billing_method=apideck_unify.BillingMethod.TIME_AND_MATERIALS, is_billable=True, phase=apideck_unify.ProjectPhase.EXECUTION, tax_rate={ + }, currency=apideck_unify.Currency.USD, budget_amount=50000, approved_amount=48000, budget_hours=400, hourly_rate=125, billing_method=apideck_unify.ProjectUpdateInputBillingMethod.TIME_AND_MATERIALS, is_billable=True, phase=apideck_unify.ProjectUpdateInputProjectPhase.EXECUTION, tax_rate={ "id": "123456", "code": "N-T", "rate": 10, @@ -327,7 +327,7 @@ with Apideck( "website", "redesign", "urgent", - ], notes="Client has requested modern design with mobile-first approach", contract_number="CNT-2024-001", profit_margin=15.5, schedule_status=apideck_unify.ScheduleStatus.ON_SCHEDULE, addresses=[ + ], notes="Client has requested modern design with mobile-first approach", contract_number="CNT-2024-001", profit_margin=15.5, schedule_status=apideck_unify.ProjectUpdateInputScheduleStatus.ON_SCHEDULE, addresses=[ { "id": "123", "type": apideck_unify.Type.PRIMARY, @@ -376,43 +376,43 @@ with Apideck( | Parameter | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *str* | :heavy_check_mark: | ID of the record you are acting upon. | | -| `name` | *str* | :heavy_check_mark: | Name of the project | Website Redesign Project | | `consumer_id` | *Optional[str]* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | | `app_id` | *Optional[str]* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | | `service_id` | *Optional[str]* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | | `company_id_param` | *Optional[str]* | :heavy_minus_sign: | The ID of the company to scope requests to. For connectors that support multi-company, this overrides the default company configured in connection settings. | 12345 | | `raw` | *Optional[bool]* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | +| `name` | *Optional[str]* | :heavy_minus_sign: | Name of the project | Website Redesign Project | | `display_id` | *OptionalNullable[str]* | :heavy_minus_sign: | User-friendly project identifier | PROJ-001 | | `reference_id` | *OptionalNullable[str]* | :heavy_minus_sign: | External reference identifier for the project | WD-REF-2024-001 | | `description` | *OptionalNullable[str]* | :heavy_minus_sign: | Detailed description of the project | Complete redesign of the company website including new branding and improved user experience | -| `status` | [OptionalNullable[models.ProjectProjectStatus]](../../models/projectprojectstatus.md) | :heavy_minus_sign: | Current status of the project | active | +| `status` | [OptionalNullable[models.ProjectUpdateInputProjectStatus]](../../models/projectupdateinputprojectstatus.md) | :heavy_minus_sign: | Current status of the project | active | | `active` | *OptionalNullable[bool]* | :heavy_minus_sign: | Indicates whether the project is currently active or inactive | true | -| `project_type` | [OptionalNullable[models.ProjectType]](../../models/projecttype.md) | :heavy_minus_sign: | Type or category of the project | client_project | -| `priority` | [OptionalNullable[models.Priority]](../../models/priority.md) | :heavy_minus_sign: | Priority level of the project | high | +| `project_type` | [OptionalNullable[models.ProjectUpdateInputProjectType]](../../models/projectupdateinputprojecttype.md) | :heavy_minus_sign: | Type or category of the project | client_project | +| `priority` | [OptionalNullable[models.ProjectUpdateInputPriority]](../../models/projectupdateinputpriority.md) | :heavy_minus_sign: | Priority level of the project | high | | `completion_percentage` | *OptionalNullable[float]* | :heavy_minus_sign: | Percentage of project completion (0-100) | 75.5 | | `start_date` | [datetime](https://docs.python.org/3/library/datetime.html#datetime-objects) | :heavy_minus_sign: | Start date of the project | 2024-01-15 | | `end_date` | [datetime](https://docs.python.org/3/library/datetime.html#datetime-objects) | :heavy_minus_sign: | Expected or planned end date of the project | 2024-06-30 | | `completion_date` | [datetime](https://docs.python.org/3/library/datetime.html#datetime-objects) | :heavy_minus_sign: | Actual end date of the project | 2024-08-06 | | `customer` | [OptionalNullable[models.LinkedCustomerInput]](../../models/linkedcustomerinput.md) | :heavy_minus_sign: | The customer this entity is linked to. | | -| `department` | [OptionalNullable[models.ProjectDepartment]](../../models/projectdepartment.md) | :heavy_minus_sign: | Department or organizational unit associated with the project | | +| `department` | [OptionalNullable[models.ProjectUpdateInputDepartment]](../../models/projectupdateinputdepartment.md) | :heavy_minus_sign: | Department or organizational unit associated with the project | | | `company_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The company ID the transaction belongs to | 12345 | | `owner_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the user who owns/manages this project | 12345 | -| `parent_project` | [OptionalNullable[models.ParentProject]](../../models/parentproject.md) | :heavy_minus_sign: | Parent project if this is a subproject | | +| `parent_project` | [OptionalNullable[models.ProjectUpdateInputParentProject]](../../models/projectupdateinputparentproject.md) | :heavy_minus_sign: | Parent project if this is a subproject | | | `currency` | [OptionalNullable[models.Currency]](../../models/currency.md) | :heavy_minus_sign: | Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). | USD | | `budget_amount` | *OptionalNullable[float]* | :heavy_minus_sign: | Total budgeted amount for the project | 50000 | | `approved_amount` | *OptionalNullable[float]* | :heavy_minus_sign: | Approved budget amount for the project | 48000 | | `budget_hours` | *OptionalNullable[float]* | :heavy_minus_sign: | Total budgeted hours for the project | 400 | | `hourly_rate` | *OptionalNullable[float]* | :heavy_minus_sign: | Default hourly rate for project work | 125 | -| `billing_method` | [OptionalNullable[models.BillingMethod]](../../models/billingmethod.md) | :heavy_minus_sign: | Method used for billing this project | time_and_materials | +| `billing_method` | [OptionalNullable[models.ProjectUpdateInputBillingMethod]](../../models/projectupdateinputbillingmethod.md) | :heavy_minus_sign: | Method used for billing this project | time_and_materials | | `is_billable` | *OptionalNullable[bool]* | :heavy_minus_sign: | Indicates if the project is billable to the customer | true | -| `phase` | [OptionalNullable[models.ProjectPhase]](../../models/projectphase.md) | :heavy_minus_sign: | Current phase of the project lifecycle | execution | +| `phase` | [OptionalNullable[models.ProjectUpdateInputProjectPhase]](../../models/projectupdateinputprojectphase.md) | :heavy_minus_sign: | Current phase of the project lifecycle | execution | | `tax_rate` | [Optional[models.LinkedTaxRateInput]](../../models/linkedtaxrateinput.md) | :heavy_minus_sign: | N/A | | | `tracking_categories` | List[[Nullable[models.LinkedTrackingCategory]](../../models/linkedtrackingcategory.md)] | :heavy_minus_sign: | A list of linked tracking categories. | | | `tags` | List[*str*] | :heavy_minus_sign: | Tags associated with the project | [
"website",
"redesign",
"urgent"
] | | `notes` | *OptionalNullable[str]* | :heavy_minus_sign: | Additional notes about the project | Client has requested modern design with mobile-first approach | | `contract_number` | *OptionalNullable[str]* | :heavy_minus_sign: | Contract or agreement number associated with the project | CNT-2024-001 | | `profit_margin` | *OptionalNullable[float]* | :heavy_minus_sign: | Expected profit margin percentage for the project | 15.5 | -| `schedule_status` | [OptionalNullable[models.ScheduleStatus]](../../models/schedulestatus.md) | :heavy_minus_sign: | Current status of project schedule compared to plan | on_schedule | +| `schedule_status` | [OptionalNullable[models.ProjectUpdateInputScheduleStatus]](../../models/projectupdateinputschedulestatus.md) | :heavy_minus_sign: | Current status of project schedule compared to plan | on_schedule | | `addresses` | List[[models.Address](../../models/address.md)] | :heavy_minus_sign: | An array of addresses associated with the project (billing, job site, etc.) | | | `team_size` | *OptionalNullable[int]* | :heavy_minus_sign: | Number of team members assigned to the project | 8 | | `custom_fields` | List[[models.CustomField](../../models/customfield.md)] | :heavy_minus_sign: | N/A | | diff --git a/docs/sdks/refunds/README.md b/docs/sdks/refunds/README.md index 1327ab016..a0f1af073 100644 --- a/docs/sdks/refunds/README.md +++ b/docs/sdks/refunds/README.md @@ -411,11 +411,11 @@ with Apideck( api_key=os.getenv("APIDECK_API_KEY", ""), ) as apideck: - res = apideck.accounting.refunds.update(id="", total_amount=49.99, service_id="salesforce", raw=False, number="RF-00001", customer={ + res = apideck.accounting.refunds.update(id="", service_id="salesforce", raw=False, number="RF-00001", customer={ "id": "12345", "display_name": "Windsurf Shop", "email": "boring@boring.com", - }, company_id="12345", currency=apideck_unify.Currency.USD, currency_rate=0.69, tax_inclusive=True, sub_total=250, total_tax=25, refund_date=parse_datetime("2021-05-01T12:00:00.000Z"), status=apideck_unify.RefundStatus.PAID, type_=apideck_unify.RefundType.REFUND_RECEIPT, payment_method="cash", payment_method_reference="123456", payment_method_id="12345", account={ + }, company_id="12345", currency=apideck_unify.Currency.USD, currency_rate=0.69, tax_inclusive=True, sub_total=250, total_amount=49.99, total_tax=25, refund_date=parse_datetime("2021-05-01T12:00:00.000Z"), status=apideck_unify.RefundStatus.PAID, type_=apideck_unify.RefundType.REFUND_RECEIPT, payment_method="cash", payment_method_reference="123456", payment_method_id="12345", account={ "id": "123456", "name": "Bank account", "nominal_code": "N091", @@ -599,7 +599,6 @@ with Apideck( | Parameter | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *str* | :heavy_check_mark: | ID of the record you are acting upon. | | -| `total_amount` | *Nullable[float]* | :heavy_check_mark: | The total amount of the transaction or record | 49.99 | | `consumer_id` | *Optional[str]* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | | `app_id` | *Optional[str]* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | | `service_id` | *Optional[str]* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | @@ -611,6 +610,7 @@ with Apideck( | `currency_rate` | *OptionalNullable[float]* | :heavy_minus_sign: | Currency Exchange Rate at the time entity was recorded/generated. | 0.69 | | `tax_inclusive` | *OptionalNullable[bool]* | :heavy_minus_sign: | Amounts are including tax | true | | `sub_total` | *OptionalNullable[float]* | :heavy_minus_sign: | Subtotal amount, normally before tax. | 250 | +| `total_amount` | *OptionalNullable[float]* | :heavy_minus_sign: | The total amount of the transaction or record | 49.99 | | `total_tax` | *OptionalNullable[float]* | :heavy_minus_sign: | Total tax amount applied to this transaction. | 25 | | `refund_date` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | The date of the refund - YYYY-MM-DDThh:mm:ss.sTZD | 2021-05-01T12:00:00.000Z | | `status` | [Optional[models.RefundStatus]](../../models/refundstatus.md) | :heavy_minus_sign: | Status of refund. Maps to: QBO (limited status), NetSuite CashRefund status, Sage Intacct state (draft/posted/voided), Zoho Books vis_state. | paid | diff --git a/docs/sdks/salesreceipts/README.md b/docs/sdks/salesreceipts/README.md index 4be03e958..a0617b2f0 100644 --- a/docs/sdks/salesreceipts/README.md +++ b/docs/sdks/salesreceipts/README.md @@ -405,11 +405,11 @@ with Apideck( api_key=os.getenv("APIDECK_API_KEY", ""), ) as apideck: - res = apideck.accounting.sales_receipts.update(id="", total_amount=49.99, service_id="salesforce", raw=False, company_id="12345", number="SR-00001", customer={ + res = apideck.accounting.sales_receipts.update(id="", service_id="salesforce", raw=False, company_id="12345", number="SR-00001", customer={ "id": "12345", "display_name": "Windsurf Shop", "email": "boring@boring.com", - }, currency=apideck_unify.Currency.USD, currency_rate=0.69, tax_inclusive=True, sub_total=250, total_tax=25, transaction_date=parse_datetime("2021-05-01T12:00:00.000Z"), payment_method="cash", payment_method_reference="123456", payment_method_id="12345", account={ + }, currency=apideck_unify.Currency.USD, currency_rate=0.69, tax_inclusive=True, sub_total=250, total_amount=49.99, total_tax=25, transaction_date=parse_datetime("2021-05-01T12:00:00.000Z"), payment_method="cash", payment_method_reference="123456", payment_method_id="12345", account={ "id": "123456", "name": "Bank account", "nominal_code": "N091", @@ -585,7 +585,6 @@ with Apideck( | Parameter | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `id` | *str* | :heavy_check_mark: | ID of the record you are acting upon. | | -| `total_amount` | *Nullable[float]* | :heavy_check_mark: | The total amount of the transaction or record | 49.99 | | `consumer_id` | *Optional[str]* | :heavy_minus_sign: | ID of the consumer which you want to get or push data from | test-consumer | | `app_id` | *Optional[str]* | :heavy_minus_sign: | The ID of your Unify application | dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX | | `service_id` | *Optional[str]* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | @@ -597,6 +596,7 @@ with Apideck( | `currency_rate` | *OptionalNullable[float]* | :heavy_minus_sign: | Currency Exchange Rate at the time entity was recorded/generated. | 0.69 | | `tax_inclusive` | *OptionalNullable[bool]* | :heavy_minus_sign: | Amounts are including tax | true | | `sub_total` | *OptionalNullable[float]* | :heavy_minus_sign: | Subtotal amount, normally before tax. | 250 | +| `total_amount` | *OptionalNullable[float]* | :heavy_minus_sign: | The total amount of the transaction or record | 49.99 | | `total_tax` | *OptionalNullable[float]* | :heavy_minus_sign: | Total tax amount applied to this transaction. | 25 | | `transaction_date` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | The date of the sales receipt transaction - YYYY-MM-DDThh:mm:ss.sTZD | 2021-05-01T12:00:00.000Z | | `payment_method` | *OptionalNullable[str]* | :heavy_minus_sign: | Payment method used for the transaction, such as cash, credit card, bank transfer, or check | cash | diff --git a/pyproject.toml b/pyproject.toml index 0d88d54fd..42be760e5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "apideck-unify" -version = "0.55.0" +version = "0.56.0" description = "Python Client SDK Generated by Speakeasy." authors = [{ name = "Speakeasy" },] readme = "README-PYPI.md" diff --git a/src/apideck_unify/_version.py b/src/apideck_unify/_version.py index c992f3380..087e47ce5 100644 --- a/src/apideck_unify/_version.py +++ b/src/apideck_unify/_version.py @@ -3,10 +3,10 @@ import importlib.metadata __title__: str = "apideck-unify" -__version__: str = "0.55.0" -__openapi_doc_version__: str = "10.76.0" +__version__: str = "0.56.0" +__openapi_doc_version__: str = "10.77.0" __gen_version__: str = "2.753.1" -__user_agent__: str = "speakeasy-sdk/python 0.55.0 2.753.1 10.76.0 apideck-unify" +__user_agent__: str = "speakeasy-sdk/python 0.56.0 2.753.1 10.77.0 apideck-unify" try: if __package__ is not None: diff --git a/src/apideck_unify/billpayments.py b/src/apideck_unify/billpayments.py index 736cddb75..8d5169ea7 100644 --- a/src/apideck_unify/billpayments.py +++ b/src/apideck_unify/billpayments.py @@ -1200,14 +1200,13 @@ def update( self, *, id: str, - total_amount: Nullable[float], - transaction_date: Nullable[datetime], consumer_id: Optional[str] = None, app_id: Optional[str] = None, service_id: Optional[str] = None, raw: Optional[bool] = False, currency: OptionalNullable[models.Currency] = UNSET, currency_rate: OptionalNullable[float] = UNSET, + total_amount: OptionalNullable[float] = UNSET, reference: OptionalNullable[str] = UNSET, payment_method: OptionalNullable[str] = UNSET, payment_method_reference: OptionalNullable[str] = UNSET, @@ -1215,6 +1214,7 @@ def update( account: OptionalNullable[ Union[models.LinkedLedgerAccount, models.LinkedLedgerAccountTypedDict] ] = UNSET, + transaction_date: OptionalNullable[datetime] = UNSET, supplier: OptionalNullable[ Union[models.LinkedSupplierInput, models.LinkedSupplierInputTypedDict] ] = UNSET, @@ -1224,11 +1224,11 @@ def update( ] = UNSET, reconciled: OptionalNullable[bool] = UNSET, status: Optional[models.PaymentStatus] = None, - type_: Optional[models.BillPaymentType] = None, + type_: Optional[models.BillPaymentUpdateInputBillPaymentType] = None, allocations: Optional[ Union[ - List[models.BillPaymentAllocations], - List[models.BillPaymentAllocationsTypedDict], + List[models.BillPaymentUpdateInputAllocations], + List[models.BillPaymentUpdateInputAllocationsTypedDict], ] ] = None, note: OptionalNullable[str] = UNSET, @@ -1257,19 +1257,19 @@ def update( Update Bill Payment :param id: ID of the record you are acting upon. - :param total_amount: The total amount of the transaction or record - :param transaction_date: The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD :param consumer_id: ID of the consumer which you want to get or push data from :param app_id: The ID of your Unify application :param service_id: Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. :param raw: Include raw response. Mostly used for debugging purposes :param currency: Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). :param currency_rate: Currency Exchange Rate at the time entity was recorded/generated. + :param total_amount: The total amount of the transaction or record :param reference: Optional transaction reference message ie: Debit remittance detail. :param payment_method: Payment method used for the transaction, such as cash, credit card, bank transfer, or check :param payment_method_reference: Optional reference message returned by payment method on processing :param payment_method_id: A unique identifier for an object. :param account: + :param transaction_date: The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD :param supplier: The supplier this entity is linked to. :param company_id: The company ID the transaction belongs to :param subsidiary: @@ -1305,7 +1305,7 @@ def update( app_id=app_id, service_id=service_id, raw=raw, - bill_payment=models.BillPaymentInput( + bill_payment_update_input=models.BillPaymentUpdateInput( currency=currency, currency_rate=currency_rate, total_amount=total_amount, @@ -1328,7 +1328,8 @@ def update( status=status, type=type_, allocations=utils.get_pydantic_model( - allocations, Optional[List[models.BillPaymentAllocations]] + allocations, + Optional[List[models.BillPaymentUpdateInputAllocations]], ), note=note, number=number, @@ -1365,7 +1366,11 @@ def update( ), security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.bill_payment, False, False, "json", models.BillPaymentInput + request.bill_payment_update_input, + False, + False, + "json", + models.BillPaymentUpdateInput, ), timeout_ms=timeout_ms, ) @@ -1452,14 +1457,13 @@ async def update_async( self, *, id: str, - total_amount: Nullable[float], - transaction_date: Nullable[datetime], consumer_id: Optional[str] = None, app_id: Optional[str] = None, service_id: Optional[str] = None, raw: Optional[bool] = False, currency: OptionalNullable[models.Currency] = UNSET, currency_rate: OptionalNullable[float] = UNSET, + total_amount: OptionalNullable[float] = UNSET, reference: OptionalNullable[str] = UNSET, payment_method: OptionalNullable[str] = UNSET, payment_method_reference: OptionalNullable[str] = UNSET, @@ -1467,6 +1471,7 @@ async def update_async( account: OptionalNullable[ Union[models.LinkedLedgerAccount, models.LinkedLedgerAccountTypedDict] ] = UNSET, + transaction_date: OptionalNullable[datetime] = UNSET, supplier: OptionalNullable[ Union[models.LinkedSupplierInput, models.LinkedSupplierInputTypedDict] ] = UNSET, @@ -1476,11 +1481,11 @@ async def update_async( ] = UNSET, reconciled: OptionalNullable[bool] = UNSET, status: Optional[models.PaymentStatus] = None, - type_: Optional[models.BillPaymentType] = None, + type_: Optional[models.BillPaymentUpdateInputBillPaymentType] = None, allocations: Optional[ Union[ - List[models.BillPaymentAllocations], - List[models.BillPaymentAllocationsTypedDict], + List[models.BillPaymentUpdateInputAllocations], + List[models.BillPaymentUpdateInputAllocationsTypedDict], ] ] = None, note: OptionalNullable[str] = UNSET, @@ -1509,19 +1514,19 @@ async def update_async( Update Bill Payment :param id: ID of the record you are acting upon. - :param total_amount: The total amount of the transaction or record - :param transaction_date: The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD :param consumer_id: ID of the consumer which you want to get or push data from :param app_id: The ID of your Unify application :param service_id: Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. :param raw: Include raw response. Mostly used for debugging purposes :param currency: Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). :param currency_rate: Currency Exchange Rate at the time entity was recorded/generated. + :param total_amount: The total amount of the transaction or record :param reference: Optional transaction reference message ie: Debit remittance detail. :param payment_method: Payment method used for the transaction, such as cash, credit card, bank transfer, or check :param payment_method_reference: Optional reference message returned by payment method on processing :param payment_method_id: A unique identifier for an object. :param account: + :param transaction_date: The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD :param supplier: The supplier this entity is linked to. :param company_id: The company ID the transaction belongs to :param subsidiary: @@ -1557,7 +1562,7 @@ async def update_async( app_id=app_id, service_id=service_id, raw=raw, - bill_payment=models.BillPaymentInput( + bill_payment_update_input=models.BillPaymentUpdateInput( currency=currency, currency_rate=currency_rate, total_amount=total_amount, @@ -1580,7 +1585,8 @@ async def update_async( status=status, type=type_, allocations=utils.get_pydantic_model( - allocations, Optional[List[models.BillPaymentAllocations]] + allocations, + Optional[List[models.BillPaymentUpdateInputAllocations]], ), note=note, number=number, @@ -1617,7 +1623,11 @@ async def update_async( ), security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.bill_payment, False, False, "json", models.BillPaymentInput + request.bill_payment_update_input, + False, + False, + "json", + models.BillPaymentUpdateInput, ), timeout_ms=timeout_ms, ) diff --git a/src/apideck_unify/creditnotes.py b/src/apideck_unify/creditnotes.py index ba81bcfd1..32655bad2 100644 --- a/src/apideck_unify/creditnotes.py +++ b/src/apideck_unify/creditnotes.py @@ -1292,7 +1292,6 @@ def update( self, *, id: str, - total_amount: float, consumer_id: Optional[str] = None, app_id: Optional[str] = None, service_id: Optional[str] = None, @@ -1311,15 +1310,16 @@ def update( currency_rate: OptionalNullable[float] = UNSET, tax_inclusive: OptionalNullable[bool] = UNSET, sub_total: OptionalNullable[float] = UNSET, + total_amount: Optional[float] = None, total_tax: OptionalNullable[float] = UNSET, tax_code: OptionalNullable[str] = UNSET, balance: OptionalNullable[float] = UNSET, remaining_credit: OptionalNullable[float] = UNSET, - status: Optional[models.CreditNoteStatus] = None, + status: Optional[models.CreditNoteUpdateInputCreditNoteStatus] = None, reference: OptionalNullable[str] = UNSET, date_issued: Optional[datetime] = None, date_paid: OptionalNullable[datetime] = UNSET, - type_: Optional[models.CreditNoteType] = None, + type_: Optional[models.CreditNoteUpdateInputCreditNoteType] = None, account: OptionalNullable[ Union[models.LinkedLedgerAccount, models.LinkedLedgerAccountTypedDict] ] = UNSET, @@ -1364,7 +1364,6 @@ def update( Update Credit Note :param id: ID of the record you are acting upon. - :param total_amount: Amount of transaction :param consumer_id: ID of the consumer which you want to get or push data from :param app_id: The ID of your Unify application :param service_id: Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. @@ -1379,6 +1378,7 @@ def update( :param currency_rate: Currency Exchange Rate at the time entity was recorded/generated. :param tax_inclusive: Amounts are including tax :param sub_total: Sub-total amount, normally before tax. + :param total_amount: Amount of transaction :param total_tax: Total tax amount applied to this invoice. :param tax_code: Applicable tax id/code override if tax is not supplied on a line item basis. :param balance: The balance reflecting any payments made against the transaction. @@ -1421,7 +1421,7 @@ def update( app_id=app_id, service_id=service_id, raw=raw, - credit_note=models.CreditNoteInput( + credit_note_update_input=models.CreditNoteUpdateInput( number=number, customer=utils.get_pydantic_model( customer, OptionalNullable[models.LinkedCustomerInput] @@ -1496,7 +1496,11 @@ def update( ), security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.credit_note, False, False, "json", models.CreditNoteInput + request.credit_note_update_input, + False, + False, + "json", + models.CreditNoteUpdateInput, ), timeout_ms=timeout_ms, ) @@ -1583,7 +1587,6 @@ async def update_async( self, *, id: str, - total_amount: float, consumer_id: Optional[str] = None, app_id: Optional[str] = None, service_id: Optional[str] = None, @@ -1602,15 +1605,16 @@ async def update_async( currency_rate: OptionalNullable[float] = UNSET, tax_inclusive: OptionalNullable[bool] = UNSET, sub_total: OptionalNullable[float] = UNSET, + total_amount: Optional[float] = None, total_tax: OptionalNullable[float] = UNSET, tax_code: OptionalNullable[str] = UNSET, balance: OptionalNullable[float] = UNSET, remaining_credit: OptionalNullable[float] = UNSET, - status: Optional[models.CreditNoteStatus] = None, + status: Optional[models.CreditNoteUpdateInputCreditNoteStatus] = None, reference: OptionalNullable[str] = UNSET, date_issued: Optional[datetime] = None, date_paid: OptionalNullable[datetime] = UNSET, - type_: Optional[models.CreditNoteType] = None, + type_: Optional[models.CreditNoteUpdateInputCreditNoteType] = None, account: OptionalNullable[ Union[models.LinkedLedgerAccount, models.LinkedLedgerAccountTypedDict] ] = UNSET, @@ -1655,7 +1659,6 @@ async def update_async( Update Credit Note :param id: ID of the record you are acting upon. - :param total_amount: Amount of transaction :param consumer_id: ID of the consumer which you want to get or push data from :param app_id: The ID of your Unify application :param service_id: Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. @@ -1670,6 +1673,7 @@ async def update_async( :param currency_rate: Currency Exchange Rate at the time entity was recorded/generated. :param tax_inclusive: Amounts are including tax :param sub_total: Sub-total amount, normally before tax. + :param total_amount: Amount of transaction :param total_tax: Total tax amount applied to this invoice. :param tax_code: Applicable tax id/code override if tax is not supplied on a line item basis. :param balance: The balance reflecting any payments made against the transaction. @@ -1712,7 +1716,7 @@ async def update_async( app_id=app_id, service_id=service_id, raw=raw, - credit_note=models.CreditNoteInput( + credit_note_update_input=models.CreditNoteUpdateInput( number=number, customer=utils.get_pydantic_model( customer, OptionalNullable[models.LinkedCustomerInput] @@ -1787,7 +1791,11 @@ async def update_async( ), security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.credit_note, False, False, "json", models.CreditNoteInput + request.credit_note_update_input, + False, + False, + "json", + models.CreditNoteUpdateInput, ), timeout_ms=timeout_ms, ) diff --git a/src/apideck_unify/expensecategories.py b/src/apideck_unify/expensecategories.py index 5aaf5269a..7071585ae 100644 --- a/src/apideck_unify/expensecategories.py +++ b/src/apideck_unify/expensecategories.py @@ -1083,15 +1083,15 @@ def update( self, *, id: str, - name: str, consumer_id: Optional[str] = None, app_id: Optional[str] = None, service_id: Optional[str] = None, raw: Optional[bool] = False, display_id: OptionalNullable[str] = UNSET, + name: Optional[str] = None, code: OptionalNullable[str] = UNSET, description: OptionalNullable[str] = UNSET, - status: OptionalNullable[models.ExpenseCategoryStatus] = UNSET, + status: OptionalNullable[models.ExpenseCategoryUpdateInputStatus] = UNSET, account: OptionalNullable[ Union[models.LinkedLedgerAccount, models.LinkedLedgerAccountTypedDict] ] = UNSET, @@ -1117,12 +1117,12 @@ def update( Update Expense Category :param id: ID of the record you are acting upon. - :param name: The name of the expense category. :param consumer_id: ID of the consumer which you want to get or push data from :param app_id: The ID of your Unify application :param service_id: Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. :param raw: Include raw response. Mostly used for debugging purposes :param display_id: Id to be displayed. + :param name: The name of the expense category. :param code: The code or external identifier of the expense category. :param description: The description of the expense category. :param status: The status of the expense category. @@ -1154,7 +1154,7 @@ def update( app_id=app_id, service_id=service_id, raw=raw, - expense_category=models.ExpenseCategoryInput( + expense_category_update_input=models.ExpenseCategoryUpdateInput( display_id=display_id, name=name, code=code, @@ -1196,11 +1196,11 @@ def update( ), security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.expense_category, + request.expense_category_update_input, False, False, "json", - models.ExpenseCategoryInput, + models.ExpenseCategoryUpdateInput, ), timeout_ms=timeout_ms, ) @@ -1287,15 +1287,15 @@ async def update_async( self, *, id: str, - name: str, consumer_id: Optional[str] = None, app_id: Optional[str] = None, service_id: Optional[str] = None, raw: Optional[bool] = False, display_id: OptionalNullable[str] = UNSET, + name: Optional[str] = None, code: OptionalNullable[str] = UNSET, description: OptionalNullable[str] = UNSET, - status: OptionalNullable[models.ExpenseCategoryStatus] = UNSET, + status: OptionalNullable[models.ExpenseCategoryUpdateInputStatus] = UNSET, account: OptionalNullable[ Union[models.LinkedLedgerAccount, models.LinkedLedgerAccountTypedDict] ] = UNSET, @@ -1321,12 +1321,12 @@ async def update_async( Update Expense Category :param id: ID of the record you are acting upon. - :param name: The name of the expense category. :param consumer_id: ID of the consumer which you want to get or push data from :param app_id: The ID of your Unify application :param service_id: Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. :param raw: Include raw response. Mostly used for debugging purposes :param display_id: Id to be displayed. + :param name: The name of the expense category. :param code: The code or external identifier of the expense category. :param description: The description of the expense category. :param status: The status of the expense category. @@ -1358,7 +1358,7 @@ async def update_async( app_id=app_id, service_id=service_id, raw=raw, - expense_category=models.ExpenseCategoryInput( + expense_category_update_input=models.ExpenseCategoryUpdateInput( display_id=display_id, name=name, code=code, @@ -1400,11 +1400,11 @@ async def update_async( ), security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.expense_category, + request.expense_category_update_input, False, False, "json", - models.ExpenseCategoryInput, + models.ExpenseCategoryUpdateInput, ), timeout_ms=timeout_ms, ) diff --git a/src/apideck_unify/expensereports.py b/src/apideck_unify/expensereports.py index 4f991a164..d74761473 100644 --- a/src/apideck_unify/expensereports.py +++ b/src/apideck_unify/expensereports.py @@ -1234,14 +1234,6 @@ def update( self, *, id: str, - employee: Union[ - models.ExpenseReportEmployee, models.ExpenseReportEmployeeTypedDict - ], - transaction_date: Nullable[datetime], - line_items: Union[ - List[models.ExpenseReportLineItemInput], - List[models.ExpenseReportLineItemInputTypedDict], - ], consumer_id: Optional[str] = None, app_id: Optional[str] = None, service_id: Optional[str] = None, @@ -1249,7 +1241,14 @@ def update( display_id: OptionalNullable[str] = UNSET, number: OptionalNullable[str] = UNSET, title: OptionalNullable[str] = UNSET, - status: OptionalNullable[models.ExpenseReportStatus] = UNSET, + employee: Optional[ + Union[ + models.ExpenseReportUpdateInputEmployee, + models.ExpenseReportUpdateInputEmployeeTypedDict, + ] + ] = None, + status: OptionalNullable[models.ExpenseReportUpdateInputStatus] = UNSET, + transaction_date: OptionalNullable[datetime] = UNSET, posting_date: OptionalNullable[date] = UNSET, due_date: OptionalNullable[date] = UNSET, currency: OptionalNullable[models.Currency] = UNSET, @@ -1269,8 +1268,17 @@ def update( Union[models.LinkedLedgerAccount, models.LinkedLedgerAccountTypedDict] ] = UNSET, accounting_period: OptionalNullable[ - Union[models.AccountingPeriod, models.AccountingPeriodTypedDict] + Union[ + models.ExpenseReportUpdateInputAccountingPeriod, + models.ExpenseReportUpdateInputAccountingPeriodTypedDict, + ] ] = UNSET, + line_items: Optional[ + Union[ + List[models.ExpenseReportLineItemInput], + List[models.ExpenseReportLineItemInputTypedDict], + ] + ] = None, reference: OptionalNullable[str] = UNSET, subsidiary: OptionalNullable[ Union[models.LinkedSubsidiaryInput, models.LinkedSubsidiaryInputTypedDict] @@ -1283,7 +1291,10 @@ def update( ] = UNSET, tax_inclusive: OptionalNullable[bool] = UNSET, approved_by: OptionalNullable[ - Union[models.ApprovedBy, models.ApprovedByTypedDict] + Union[ + models.ExpenseReportUpdateInputApprovedBy, + models.ExpenseReportUpdateInputApprovedByTypedDict, + ] ] = UNSET, custom_fields: Optional[ Union[List[models.CustomField], List[models.CustomFieldTypedDict]] @@ -1302,9 +1313,6 @@ def update( Update Expense Report :param id: ID of the record you are acting upon. - :param employee: The employee who submitted the expense report. - :param transaction_date: The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD - :param line_items: Expense line items linked to this expense report. :param consumer_id: ID of the consumer which you want to get or push data from :param app_id: The ID of your Unify application :param service_id: Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. @@ -1312,7 +1320,9 @@ def update( :param display_id: Id to be displayed. :param number: The expense report number. :param title: Title or purpose of the expense report. + :param employee: The employee who submitted the expense report. :param status: The status of the expense report. + :param transaction_date: The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD :param posting_date: The date the expense report was posted to the general ledger. :param due_date: Date when reimbursement is due. :param currency: Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). @@ -1326,6 +1336,7 @@ def update( :param location: :param account: :param accounting_period: The accounting period the expense report is posted to. + :param line_items: Expense line items linked to this expense report. :param reference: Optional reference identifier for the transaction. :param subsidiary: :param tracking_categories: A list of linked tracking categories. @@ -1355,12 +1366,12 @@ def update( app_id=app_id, service_id=service_id, raw=raw, - expense_report=models.ExpenseReportInput( + expense_report_update_input=models.ExpenseReportUpdateInput( display_id=display_id, number=number, title=title, employee=utils.get_pydantic_model( - employee, models.ExpenseReportEmployee + employee, Optional[models.ExpenseReportUpdateInputEmployee] ), status=status, transaction_date=transaction_date, @@ -1383,10 +1394,11 @@ def update( account, OptionalNullable[models.LinkedLedgerAccount] ), accounting_period=utils.get_pydantic_model( - accounting_period, OptionalNullable[models.AccountingPeriod] + accounting_period, + OptionalNullable[models.ExpenseReportUpdateInputAccountingPeriod], ), line_items=utils.get_pydantic_model( - line_items, List[models.ExpenseReportLineItemInput] + line_items, Optional[List[models.ExpenseReportLineItemInput]] ), reference=reference, subsidiary=utils.get_pydantic_model( @@ -1398,7 +1410,8 @@ def update( ), tax_inclusive=tax_inclusive, approved_by=utils.get_pydantic_model( - approved_by, OptionalNullable[models.ApprovedBy] + approved_by, + OptionalNullable[models.ExpenseReportUpdateInputApprovedBy], ), custom_fields=utils.get_pydantic_model( custom_fields, Optional[List[models.CustomField]] @@ -1428,7 +1441,11 @@ def update( ), security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.expense_report, False, False, "json", models.ExpenseReportInput + request.expense_report_update_input, + False, + False, + "json", + models.ExpenseReportUpdateInput, ), timeout_ms=timeout_ms, ) @@ -1515,14 +1532,6 @@ async def update_async( self, *, id: str, - employee: Union[ - models.ExpenseReportEmployee, models.ExpenseReportEmployeeTypedDict - ], - transaction_date: Nullable[datetime], - line_items: Union[ - List[models.ExpenseReportLineItemInput], - List[models.ExpenseReportLineItemInputTypedDict], - ], consumer_id: Optional[str] = None, app_id: Optional[str] = None, service_id: Optional[str] = None, @@ -1530,7 +1539,14 @@ async def update_async( display_id: OptionalNullable[str] = UNSET, number: OptionalNullable[str] = UNSET, title: OptionalNullable[str] = UNSET, - status: OptionalNullable[models.ExpenseReportStatus] = UNSET, + employee: Optional[ + Union[ + models.ExpenseReportUpdateInputEmployee, + models.ExpenseReportUpdateInputEmployeeTypedDict, + ] + ] = None, + status: OptionalNullable[models.ExpenseReportUpdateInputStatus] = UNSET, + transaction_date: OptionalNullable[datetime] = UNSET, posting_date: OptionalNullable[date] = UNSET, due_date: OptionalNullable[date] = UNSET, currency: OptionalNullable[models.Currency] = UNSET, @@ -1550,8 +1566,17 @@ async def update_async( Union[models.LinkedLedgerAccount, models.LinkedLedgerAccountTypedDict] ] = UNSET, accounting_period: OptionalNullable[ - Union[models.AccountingPeriod, models.AccountingPeriodTypedDict] + Union[ + models.ExpenseReportUpdateInputAccountingPeriod, + models.ExpenseReportUpdateInputAccountingPeriodTypedDict, + ] ] = UNSET, + line_items: Optional[ + Union[ + List[models.ExpenseReportLineItemInput], + List[models.ExpenseReportLineItemInputTypedDict], + ] + ] = None, reference: OptionalNullable[str] = UNSET, subsidiary: OptionalNullable[ Union[models.LinkedSubsidiaryInput, models.LinkedSubsidiaryInputTypedDict] @@ -1564,7 +1589,10 @@ async def update_async( ] = UNSET, tax_inclusive: OptionalNullable[bool] = UNSET, approved_by: OptionalNullable[ - Union[models.ApprovedBy, models.ApprovedByTypedDict] + Union[ + models.ExpenseReportUpdateInputApprovedBy, + models.ExpenseReportUpdateInputApprovedByTypedDict, + ] ] = UNSET, custom_fields: Optional[ Union[List[models.CustomField], List[models.CustomFieldTypedDict]] @@ -1583,9 +1611,6 @@ async def update_async( Update Expense Report :param id: ID of the record you are acting upon. - :param employee: The employee who submitted the expense report. - :param transaction_date: The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD - :param line_items: Expense line items linked to this expense report. :param consumer_id: ID of the consumer which you want to get or push data from :param app_id: The ID of your Unify application :param service_id: Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. @@ -1593,7 +1618,9 @@ async def update_async( :param display_id: Id to be displayed. :param number: The expense report number. :param title: Title or purpose of the expense report. + :param employee: The employee who submitted the expense report. :param status: The status of the expense report. + :param transaction_date: The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD :param posting_date: The date the expense report was posted to the general ledger. :param due_date: Date when reimbursement is due. :param currency: Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). @@ -1607,6 +1634,7 @@ async def update_async( :param location: :param account: :param accounting_period: The accounting period the expense report is posted to. + :param line_items: Expense line items linked to this expense report. :param reference: Optional reference identifier for the transaction. :param subsidiary: :param tracking_categories: A list of linked tracking categories. @@ -1636,12 +1664,12 @@ async def update_async( app_id=app_id, service_id=service_id, raw=raw, - expense_report=models.ExpenseReportInput( + expense_report_update_input=models.ExpenseReportUpdateInput( display_id=display_id, number=number, title=title, employee=utils.get_pydantic_model( - employee, models.ExpenseReportEmployee + employee, Optional[models.ExpenseReportUpdateInputEmployee] ), status=status, transaction_date=transaction_date, @@ -1664,10 +1692,11 @@ async def update_async( account, OptionalNullable[models.LinkedLedgerAccount] ), accounting_period=utils.get_pydantic_model( - accounting_period, OptionalNullable[models.AccountingPeriod] + accounting_period, + OptionalNullable[models.ExpenseReportUpdateInputAccountingPeriod], ), line_items=utils.get_pydantic_model( - line_items, List[models.ExpenseReportLineItemInput] + line_items, Optional[List[models.ExpenseReportLineItemInput]] ), reference=reference, subsidiary=utils.get_pydantic_model( @@ -1679,7 +1708,8 @@ async def update_async( ), tax_inclusive=tax_inclusive, approved_by=utils.get_pydantic_model( - approved_by, OptionalNullable[models.ApprovedBy] + approved_by, + OptionalNullable[models.ExpenseReportUpdateInputApprovedBy], ), custom_fields=utils.get_pydantic_model( custom_fields, Optional[List[models.CustomField]] @@ -1709,7 +1739,11 @@ async def update_async( ), security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.expense_report, False, False, "json", models.ExpenseReportInput + request.expense_report_update_input, + False, + False, + "json", + models.ExpenseReportUpdateInput, ), timeout_ms=timeout_ms, ) diff --git a/src/apideck_unify/expenses.py b/src/apideck_unify/expenses.py index efc09d854..9b8f22569 100644 --- a/src/apideck_unify/expenses.py +++ b/src/apideck_unify/expenses.py @@ -1232,17 +1232,13 @@ def update( self, *, id: str, - transaction_date: Nullable[datetime], - line_items: Union[ - List[models.ExpenseLineItemInput], - List[models.ExpenseLineItemInputTypedDict], - ], consumer_id: Optional[str] = None, app_id: Optional[str] = None, service_id: Optional[str] = None, raw: Optional[bool] = False, display_id: OptionalNullable[str] = UNSET, number: OptionalNullable[str] = UNSET, + transaction_date: OptionalNullable[datetime] = UNSET, account_id: Optional[str] = None, account: OptionalNullable[ Union[ @@ -1262,10 +1258,10 @@ def update( department: OptionalNullable[ Union[models.LinkedDepartmentInput, models.LinkedDepartmentInputTypedDict] ] = UNSET, - payment_type: OptionalNullable[models.ExpensePaymentType] = UNSET, + payment_type: OptionalNullable[models.ExpenseUpdateInputPaymentType] = UNSET, currency: OptionalNullable[models.Currency] = UNSET, currency_rate: OptionalNullable[float] = UNSET, - type_: OptionalNullable[models.ExpenseType] = UNSET, + type_: OptionalNullable[models.ExpenseUpdateInputExpenseType] = UNSET, memo: OptionalNullable[str] = UNSET, tax_rate: Optional[ Union[models.LinkedTaxRateInput, models.LinkedTaxRateInputTypedDict] @@ -1280,12 +1276,18 @@ def update( List[Nullable[models.LinkedTrackingCategoryTypedDict]], ] ] = UNSET, + line_items: Optional[ + Union[ + List[models.ExpenseLineItemInput], + List[models.ExpenseLineItemInputTypedDict], + ] + ] = None, reference: OptionalNullable[str] = UNSET, source_document_url: OptionalNullable[str] = UNSET, custom_fields: Optional[ Union[List[models.CustomField], List[models.CustomFieldTypedDict]] ] = None, - status: OptionalNullable[models.ExpenseStatus] = UNSET, + status: OptionalNullable[models.ExpenseUpdateInputStatus] = UNSET, row_version: OptionalNullable[str] = UNSET, pass_through: Optional[ Union[List[models.PassThroughBody], List[models.PassThroughBodyTypedDict]] @@ -1300,14 +1302,13 @@ def update( Update Expense :param id: ID of the record you are acting upon. - :param transaction_date: The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD - :param line_items: Expense line items linked to this expense. :param consumer_id: ID of the consumer which you want to get or push data from :param app_id: The ID of your Unify application :param service_id: Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. :param raw: Include raw response. Mostly used for debugging purposes :param display_id: Id to be displayed. :param number: Number. + :param transaction_date: The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD :param account_id: The unique identifier for the ledger account that this expense should be credited to. Deprecated, use account instead. :param account: A flexible account reference that can represent a ledger account (GL account), a bank account, or an employee payable account, depending on the connector's requirements. :param supplier_id: The ID of the supplier this entity is linked to. Deprecated, use supplier instead. @@ -1327,6 +1328,7 @@ def update( :param total_tax: Total tax amount applied to this transaction. :param total_amount: The total amount of the expense line item. :param tracking_categories: A list of linked tracking categories. + :param line_items: Expense line items linked to this expense. :param reference: Optional reference identifier for the transaction. :param source_document_url: URL link to a source document - shown as 'Go to [appName]' in the downstream app. Currently only supported for Xero. :param custom_fields: @@ -1354,7 +1356,7 @@ def update( app_id=app_id, service_id=service_id, raw=raw, - expense=models.ExpenseInput( + expense_update_input=models.ExpenseUpdateInput( display_id=display_id, number=number, transaction_date=transaction_date, @@ -1391,7 +1393,7 @@ def update( OptionalNullable[List[Nullable[models.LinkedTrackingCategory]]], ), line_items=utils.get_pydantic_model( - line_items, List[models.ExpenseLineItemInput] + line_items, Optional[List[models.ExpenseLineItemInput]] ), reference=reference, source_document_url=source_document_url, @@ -1424,7 +1426,11 @@ def update( ), security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.expense, False, False, "json", models.ExpenseInput + request.expense_update_input, + False, + False, + "json", + models.ExpenseUpdateInput, ), timeout_ms=timeout_ms, ) @@ -1511,17 +1517,13 @@ async def update_async( self, *, id: str, - transaction_date: Nullable[datetime], - line_items: Union[ - List[models.ExpenseLineItemInput], - List[models.ExpenseLineItemInputTypedDict], - ], consumer_id: Optional[str] = None, app_id: Optional[str] = None, service_id: Optional[str] = None, raw: Optional[bool] = False, display_id: OptionalNullable[str] = UNSET, number: OptionalNullable[str] = UNSET, + transaction_date: OptionalNullable[datetime] = UNSET, account_id: Optional[str] = None, account: OptionalNullable[ Union[ @@ -1541,10 +1543,10 @@ async def update_async( department: OptionalNullable[ Union[models.LinkedDepartmentInput, models.LinkedDepartmentInputTypedDict] ] = UNSET, - payment_type: OptionalNullable[models.ExpensePaymentType] = UNSET, + payment_type: OptionalNullable[models.ExpenseUpdateInputPaymentType] = UNSET, currency: OptionalNullable[models.Currency] = UNSET, currency_rate: OptionalNullable[float] = UNSET, - type_: OptionalNullable[models.ExpenseType] = UNSET, + type_: OptionalNullable[models.ExpenseUpdateInputExpenseType] = UNSET, memo: OptionalNullable[str] = UNSET, tax_rate: Optional[ Union[models.LinkedTaxRateInput, models.LinkedTaxRateInputTypedDict] @@ -1559,12 +1561,18 @@ async def update_async( List[Nullable[models.LinkedTrackingCategoryTypedDict]], ] ] = UNSET, + line_items: Optional[ + Union[ + List[models.ExpenseLineItemInput], + List[models.ExpenseLineItemInputTypedDict], + ] + ] = None, reference: OptionalNullable[str] = UNSET, source_document_url: OptionalNullable[str] = UNSET, custom_fields: Optional[ Union[List[models.CustomField], List[models.CustomFieldTypedDict]] ] = None, - status: OptionalNullable[models.ExpenseStatus] = UNSET, + status: OptionalNullable[models.ExpenseUpdateInputStatus] = UNSET, row_version: OptionalNullable[str] = UNSET, pass_through: Optional[ Union[List[models.PassThroughBody], List[models.PassThroughBodyTypedDict]] @@ -1579,14 +1587,13 @@ async def update_async( Update Expense :param id: ID of the record you are acting upon. - :param transaction_date: The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD - :param line_items: Expense line items linked to this expense. :param consumer_id: ID of the consumer which you want to get or push data from :param app_id: The ID of your Unify application :param service_id: Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. :param raw: Include raw response. Mostly used for debugging purposes :param display_id: Id to be displayed. :param number: Number. + :param transaction_date: The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD :param account_id: The unique identifier for the ledger account that this expense should be credited to. Deprecated, use account instead. :param account: A flexible account reference that can represent a ledger account (GL account), a bank account, or an employee payable account, depending on the connector's requirements. :param supplier_id: The ID of the supplier this entity is linked to. Deprecated, use supplier instead. @@ -1606,6 +1613,7 @@ async def update_async( :param total_tax: Total tax amount applied to this transaction. :param total_amount: The total amount of the expense line item. :param tracking_categories: A list of linked tracking categories. + :param line_items: Expense line items linked to this expense. :param reference: Optional reference identifier for the transaction. :param source_document_url: URL link to a source document - shown as 'Go to [appName]' in the downstream app. Currently only supported for Xero. :param custom_fields: @@ -1633,7 +1641,7 @@ async def update_async( app_id=app_id, service_id=service_id, raw=raw, - expense=models.ExpenseInput( + expense_update_input=models.ExpenseUpdateInput( display_id=display_id, number=number, transaction_date=transaction_date, @@ -1670,7 +1678,7 @@ async def update_async( OptionalNullable[List[Nullable[models.LinkedTrackingCategory]]], ), line_items=utils.get_pydantic_model( - line_items, List[models.ExpenseLineItemInput] + line_items, Optional[List[models.ExpenseLineItemInput]] ), reference=reference, source_document_url=source_document_url, @@ -1703,7 +1711,11 @@ async def update_async( ), security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.expense, False, False, "json", models.ExpenseInput + request.expense_update_input, + False, + False, + "json", + models.ExpenseUpdateInput, ), timeout_ms=timeout_ms, ) diff --git a/src/apideck_unify/models/__init__.py b/src/apideck_unify/models/__init__.py index 1830b8014..5b6431603 100644 --- a/src/apideck_unify/models/__init__.py +++ b/src/apideck_unify/models/__init__.py @@ -2037,6 +2037,14 @@ BillPaymentCreateInputBillPaymentType, BillPaymentCreateInputTypedDict, ) + from .billpaymentupdateinput import ( + BillPaymentUpdateInput, + BillPaymentUpdateInputAllocationType, + BillPaymentUpdateInputAllocations, + BillPaymentUpdateInputAllocationsTypedDict, + BillPaymentUpdateInputBillPaymentType, + BillPaymentUpdateInputTypedDict, + ) from .billsfilter import BillsFilter, BillsFilterStatus, BillsFilterTypedDict from .billssort import BillsSort, BillsSortTypedDict, By from .categoriesfilter import ( @@ -2520,6 +2528,12 @@ CreditNotesSortBy, CreditNotesSortTypedDict, ) + from .creditnoteupdateinput import ( + CreditNoteUpdateInput, + CreditNoteUpdateInputCreditNoteStatus, + CreditNoteUpdateInputCreditNoteType, + CreditNoteUpdateInputTypedDict, + ) from .creditordebit import CreditOrDebit from .crm_activitiesaddop import ( CrmActivitiesAddGlobals, @@ -3421,6 +3435,11 @@ ExpenseCategoryStatus, ExpenseCategoryTypedDict, ) + from .expensecategoryupdateinput import ( + ExpenseCategoryUpdateInput, + ExpenseCategoryUpdateInputStatus, + ExpenseCategoryUpdateInputTypedDict, + ) from .expenselineitem import ExpenseLineItem, ExpenseLineItemTypedDict from .expenselineitem_input import ( ExpenseLineItemInput, @@ -3452,12 +3471,30 @@ ExpenseReportsFilterStatus, ExpenseReportsFilterTypedDict, ) + from .expensereportupdateinput import ( + ExpenseReportUpdateInput, + ExpenseReportUpdateInputAccountingPeriod, + ExpenseReportUpdateInputAccountingPeriodTypedDict, + ExpenseReportUpdateInputApprovedBy, + ExpenseReportUpdateInputApprovedByTypedDict, + ExpenseReportUpdateInputEmployee, + ExpenseReportUpdateInputEmployeeTypedDict, + ExpenseReportUpdateInputStatus, + ExpenseReportUpdateInputTypedDict, + ) from .expensesfilter import ( ExpensesFilter, ExpensesFilterStatus, ExpensesFilterType, ExpensesFilterTypedDict, ) + from .expenseupdateinput import ( + ExpenseUpdateInput, + ExpenseUpdateInputExpenseType, + ExpenseUpdateInputPaymentType, + ExpenseUpdateInputStatus, + ExpenseUpdateInputTypedDict, + ) from .filesfilter import FilesFilter, FilesFilterTypedDict from .filessearch import FilesSearch, FilesSearchTypedDict from .filessort import FilesSort, FilesSortBy, FilesSortTypedDict @@ -4920,6 +4957,7 @@ from .paymentstatus import PaymentStatus from .paymenttype import PaymentType from .paymentunit import PaymentUnit + from .paymentupdateinput import PaymentUpdateInput, PaymentUpdateInputTypedDict from .payroll import Payroll, PayrollTypedDict from .payrollsfilter import PayrollsFilter, PayrollsFilterTypedDict from .payrolltotals import PayrollTotals, PayrollTotalsTypedDict @@ -4977,6 +5015,20 @@ ) from .projectsfilter import ProjectStatus, ProjectsFilter, ProjectsFilterTypedDict from .projectssort import ProjectsSort, ProjectsSortSortBy, ProjectsSortTypedDict + from .projectupdateinput import ( + ProjectUpdateInput, + ProjectUpdateInputBillingMethod, + ProjectUpdateInputDepartment, + ProjectUpdateInputDepartmentTypedDict, + ProjectUpdateInputParentProject, + ProjectUpdateInputParentProjectTypedDict, + ProjectUpdateInputPriority, + ProjectUpdateInputProjectPhase, + ProjectUpdateInputProjectStatus, + ProjectUpdateInputProjectType, + ProjectUpdateInputScheduleStatus, + ProjectUpdateInputTypedDict, + ) from .proxy_deleteproxyop import ( ProxyDeleteProxyGlobals, ProxyDeleteProxyGlobalsTypedDict, @@ -5076,6 +5128,7 @@ from .refundssort import RefundsSort, RefundsSortBy, RefundsSortTypedDict from .refundstatus import RefundStatus from .refundtype import RefundType + from .refundupdateinput import RefundUpdateInput, RefundUpdateInputTypedDict from .requestcountallocation import ( RequestCountAllocation, RequestCountAllocationTypedDict, @@ -5098,6 +5151,10 @@ SalesReceiptsSortBy, SalesReceiptsSortTypedDict, ) + from .salesreceiptupdateinput import ( + SalesReceiptUpdateInput, + SalesReceiptUpdateInputTypedDict, + ) from .schedule import ( EvenWeeks, EvenWeeksTypedDict, @@ -7349,6 +7406,12 @@ "BillPaymentInputTypedDict", "BillPaymentType", "BillPaymentTypedDict", + "BillPaymentUpdateInput", + "BillPaymentUpdateInputAllocationType", + "BillPaymentUpdateInputAllocations", + "BillPaymentUpdateInputAllocationsTypedDict", + "BillPaymentUpdateInputBillPaymentType", + "BillPaymentUpdateInputTypedDict", "BillStatus", "BillTypedDict", "BillingMethod", @@ -7686,6 +7749,10 @@ "CreditNoteStatus", "CreditNoteType", "CreditNoteTypedDict", + "CreditNoteUpdateInput", + "CreditNoteUpdateInputCreditNoteStatus", + "CreditNoteUpdateInputCreditNoteType", + "CreditNoteUpdateInputTypedDict", "CreditNotesFilter", "CreditNotesFilterTypedDict", "CreditNotesSort", @@ -8367,6 +8434,9 @@ "ExpenseCategoryInputTypedDict", "ExpenseCategoryStatus", "ExpenseCategoryTypedDict", + "ExpenseCategoryUpdateInput", + "ExpenseCategoryUpdateInputStatus", + "ExpenseCategoryUpdateInputTypedDict", "ExpenseInput", "ExpenseInputTypedDict", "ExpenseLineItem", @@ -8385,12 +8455,26 @@ "ExpenseReportLineItemTypedDict", "ExpenseReportStatus", "ExpenseReportTypedDict", + "ExpenseReportUpdateInput", + "ExpenseReportUpdateInputAccountingPeriod", + "ExpenseReportUpdateInputAccountingPeriodTypedDict", + "ExpenseReportUpdateInputApprovedBy", + "ExpenseReportUpdateInputApprovedByTypedDict", + "ExpenseReportUpdateInputEmployee", + "ExpenseReportUpdateInputEmployeeTypedDict", + "ExpenseReportUpdateInputStatus", + "ExpenseReportUpdateInputTypedDict", "ExpenseReportsFilter", "ExpenseReportsFilterStatus", "ExpenseReportsFilterTypedDict", "ExpenseStatus", "ExpenseType", "ExpenseTypedDict", + "ExpenseUpdateInput", + "ExpenseUpdateInputExpenseType", + "ExpenseUpdateInputPaymentType", + "ExpenseUpdateInputStatus", + "ExpenseUpdateInputTypedDict", "ExpensesFilter", "ExpensesFilterStatus", "ExpensesFilterType", @@ -9529,6 +9613,8 @@ "PaymentType", "PaymentTypedDict", "PaymentUnit", + "PaymentUpdateInput", + "PaymentUpdateInputTypedDict", "PaymentsFilter", "PaymentsFilterPaymentStatus", "PaymentsFilterType", @@ -9582,6 +9668,18 @@ "ProjectStatus", "ProjectType", "ProjectTypedDict", + "ProjectUpdateInput", + "ProjectUpdateInputBillingMethod", + "ProjectUpdateInputDepartment", + "ProjectUpdateInputDepartmentTypedDict", + "ProjectUpdateInputParentProject", + "ProjectUpdateInputParentProjectTypedDict", + "ProjectUpdateInputPriority", + "ProjectUpdateInputProjectPhase", + "ProjectUpdateInputProjectStatus", + "ProjectUpdateInputProjectType", + "ProjectUpdateInputScheduleStatus", + "ProjectUpdateInputTypedDict", "ProjectsFilter", "ProjectsFilterTypedDict", "ProjectsSort", @@ -9663,6 +9761,8 @@ "RefundStatus", "RefundType", "RefundTypedDict", + "RefundUpdateInput", + "RefundUpdateInputTypedDict", "RefundsFilter", "RefundsFilterTypedDict", "RefundsSort", @@ -9704,6 +9804,8 @@ "SalesReceiptInput", "SalesReceiptInputTypedDict", "SalesReceiptTypedDict", + "SalesReceiptUpdateInput", + "SalesReceiptUpdateInputTypedDict", "SalesReceiptsFilter", "SalesReceiptsFilterTypedDict", "SalesReceiptsSort", @@ -11785,6 +11887,12 @@ "BillPaymentCreateInputAllocationsTypedDict": ".billpaymentcreateinput", "BillPaymentCreateInputBillPaymentType": ".billpaymentcreateinput", "BillPaymentCreateInputTypedDict": ".billpaymentcreateinput", + "BillPaymentUpdateInput": ".billpaymentupdateinput", + "BillPaymentUpdateInputAllocationType": ".billpaymentupdateinput", + "BillPaymentUpdateInputAllocations": ".billpaymentupdateinput", + "BillPaymentUpdateInputAllocationsTypedDict": ".billpaymentupdateinput", + "BillPaymentUpdateInputBillPaymentType": ".billpaymentupdateinput", + "BillPaymentUpdateInputTypedDict": ".billpaymentupdateinput", "BillsFilter": ".billsfilter", "BillsFilterStatus": ".billsfilter", "BillsFilterTypedDict": ".billsfilter", @@ -12141,6 +12249,10 @@ "CreditNotesSort": ".creditnotessort", "CreditNotesSortBy": ".creditnotessort", "CreditNotesSortTypedDict": ".creditnotessort", + "CreditNoteUpdateInput": ".creditnoteupdateinput", + "CreditNoteUpdateInputCreditNoteStatus": ".creditnoteupdateinput", + "CreditNoteUpdateInputCreditNoteType": ".creditnoteupdateinput", + "CreditNoteUpdateInputTypedDict": ".creditnoteupdateinput", "CreditOrDebit": ".creditordebit", "CrmActivitiesAddGlobals": ".crm_activitiesaddop", "CrmActivitiesAddGlobalsTypedDict": ".crm_activitiesaddop", @@ -12804,6 +12916,9 @@ "ExpenseCategoryInputTypedDict": ".expensecategory", "ExpenseCategoryStatus": ".expensecategory", "ExpenseCategoryTypedDict": ".expensecategory", + "ExpenseCategoryUpdateInput": ".expensecategoryupdateinput", + "ExpenseCategoryUpdateInputStatus": ".expensecategoryupdateinput", + "ExpenseCategoryUpdateInputTypedDict": ".expensecategoryupdateinput", "ExpenseLineItem": ".expenselineitem", "ExpenseLineItemTypedDict": ".expenselineitem", "ExpenseLineItemInput": ".expenselineitem_input", @@ -12826,10 +12941,24 @@ "ExpenseReportsFilter": ".expensereportsfilter", "ExpenseReportsFilterStatus": ".expensereportsfilter", "ExpenseReportsFilterTypedDict": ".expensereportsfilter", + "ExpenseReportUpdateInput": ".expensereportupdateinput", + "ExpenseReportUpdateInputAccountingPeriod": ".expensereportupdateinput", + "ExpenseReportUpdateInputAccountingPeriodTypedDict": ".expensereportupdateinput", + "ExpenseReportUpdateInputApprovedBy": ".expensereportupdateinput", + "ExpenseReportUpdateInputApprovedByTypedDict": ".expensereportupdateinput", + "ExpenseReportUpdateInputEmployee": ".expensereportupdateinput", + "ExpenseReportUpdateInputEmployeeTypedDict": ".expensereportupdateinput", + "ExpenseReportUpdateInputStatus": ".expensereportupdateinput", + "ExpenseReportUpdateInputTypedDict": ".expensereportupdateinput", "ExpensesFilter": ".expensesfilter", "ExpensesFilterStatus": ".expensesfilter", "ExpensesFilterType": ".expensesfilter", "ExpensesFilterTypedDict": ".expensesfilter", + "ExpenseUpdateInput": ".expenseupdateinput", + "ExpenseUpdateInputExpenseType": ".expenseupdateinput", + "ExpenseUpdateInputPaymentType": ".expenseupdateinput", + "ExpenseUpdateInputStatus": ".expenseupdateinput", + "ExpenseUpdateInputTypedDict": ".expenseupdateinput", "FilesFilter": ".filesfilter", "FilesFilterTypedDict": ".filesfilter", "FilesSearch": ".filessearch", @@ -13954,6 +14083,8 @@ "PaymentStatus": ".paymentstatus", "PaymentType": ".paymenttype", "PaymentUnit": ".paymentunit", + "PaymentUpdateInput": ".paymentupdateinput", + "PaymentUpdateInputTypedDict": ".paymentupdateinput", "Payroll": ".payroll", "PayrollTypedDict": ".payroll", "PayrollsFilter": ".payrollsfilter", @@ -14015,6 +14146,18 @@ "ProjectsSort": ".projectssort", "ProjectsSortSortBy": ".projectssort", "ProjectsSortTypedDict": ".projectssort", + "ProjectUpdateInput": ".projectupdateinput", + "ProjectUpdateInputBillingMethod": ".projectupdateinput", + "ProjectUpdateInputDepartment": ".projectupdateinput", + "ProjectUpdateInputDepartmentTypedDict": ".projectupdateinput", + "ProjectUpdateInputParentProject": ".projectupdateinput", + "ProjectUpdateInputParentProjectTypedDict": ".projectupdateinput", + "ProjectUpdateInputPriority": ".projectupdateinput", + "ProjectUpdateInputProjectPhase": ".projectupdateinput", + "ProjectUpdateInputProjectStatus": ".projectupdateinput", + "ProjectUpdateInputProjectType": ".projectupdateinput", + "ProjectUpdateInputScheduleStatus": ".projectupdateinput", + "ProjectUpdateInputTypedDict": ".projectupdateinput", "ProxyDeleteProxyGlobals": ".proxy_deleteproxyop", "ProxyDeleteProxyGlobalsTypedDict": ".proxy_deleteproxyop", "ProxyDeleteProxyRequest": ".proxy_deleteproxyop", @@ -14100,6 +14243,8 @@ "RefundsSortTypedDict": ".refundssort", "RefundStatus": ".refundstatus", "RefundType": ".refundtype", + "RefundUpdateInput": ".refundupdateinput", + "RefundUpdateInputTypedDict": ".refundupdateinput", "RequestCountAllocation": ".requestcountallocation", "RequestCountAllocationTypedDict": ".requestcountallocation", "ResourceStatus": ".resourcestatus", @@ -14120,6 +14265,8 @@ "SalesReceiptsSort": ".salesreceiptssort", "SalesReceiptsSortBy": ".salesreceiptssort", "SalesReceiptsSortTypedDict": ".salesreceiptssort", + "SalesReceiptUpdateInput": ".salesreceiptupdateinput", + "SalesReceiptUpdateInputTypedDict": ".salesreceiptupdateinput", "EvenWeeks": ".schedule", "EvenWeeksTypedDict": ".schedule", "OddWeeks": ".schedule", diff --git a/src/apideck_unify/models/accounting_billpaymentsupdateop.py b/src/apideck_unify/models/accounting_billpaymentsupdateop.py index 64455a18a..5dd6763f8 100644 --- a/src/apideck_unify/models/accounting_billpaymentsupdateop.py +++ b/src/apideck_unify/models/accounting_billpaymentsupdateop.py @@ -1,7 +1,10 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .billpayment import BillPaymentInput, BillPaymentInputTypedDict +from .billpaymentupdateinput import ( + BillPaymentUpdateInput, + BillPaymentUpdateInputTypedDict, +) from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict from .unexpectederrorresponse import ( UnexpectedErrorResponse, @@ -50,7 +53,7 @@ class AccountingBillPaymentsUpdateGlobals(BaseModel): class AccountingBillPaymentsUpdateRequestTypedDict(TypedDict): id: str r"""ID of the record you are acting upon.""" - bill_payment: BillPaymentInputTypedDict + bill_payment_update_input: BillPaymentUpdateInputTypedDict consumer_id: NotRequired[str] r"""ID of the consumer which you want to get or push data from""" app_id: NotRequired[str] @@ -67,8 +70,8 @@ class AccountingBillPaymentsUpdateRequest(BaseModel): ] r"""ID of the record you are acting upon.""" - bill_payment: Annotated[ - BillPaymentInput, + bill_payment_update_input: Annotated[ + BillPaymentUpdateInput, FieldMetadata(request=RequestMetadata(media_type="application/json")), ] diff --git a/src/apideck_unify/models/accounting_creditnotesupdateop.py b/src/apideck_unify/models/accounting_creditnotesupdateop.py index 9ca89fcb9..8ad467310 100644 --- a/src/apideck_unify/models/accounting_creditnotesupdateop.py +++ b/src/apideck_unify/models/accounting_creditnotesupdateop.py @@ -1,7 +1,7 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .creditnote import CreditNoteInput, CreditNoteInputTypedDict +from .creditnoteupdateinput import CreditNoteUpdateInput, CreditNoteUpdateInputTypedDict from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict from .unexpectederrorresponse import ( UnexpectedErrorResponse, @@ -50,7 +50,7 @@ class AccountingCreditNotesUpdateGlobals(BaseModel): class AccountingCreditNotesUpdateRequestTypedDict(TypedDict): id: str r"""ID of the record you are acting upon.""" - credit_note: CreditNoteInputTypedDict + credit_note_update_input: CreditNoteUpdateInputTypedDict consumer_id: NotRequired[str] r"""ID of the consumer which you want to get or push data from""" app_id: NotRequired[str] @@ -67,8 +67,8 @@ class AccountingCreditNotesUpdateRequest(BaseModel): ] r"""ID of the record you are acting upon.""" - credit_note: Annotated[ - CreditNoteInput, + credit_note_update_input: Annotated[ + CreditNoteUpdateInput, FieldMetadata(request=RequestMetadata(media_type="application/json")), ] diff --git a/src/apideck_unify/models/accounting_expensecategoriesupdateop.py b/src/apideck_unify/models/accounting_expensecategoriesupdateop.py index 7ad44e483..9f828af5f 100644 --- a/src/apideck_unify/models/accounting_expensecategoriesupdateop.py +++ b/src/apideck_unify/models/accounting_expensecategoriesupdateop.py @@ -1,7 +1,10 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .expensecategory import ExpenseCategoryInput, ExpenseCategoryInputTypedDict +from .expensecategoryupdateinput import ( + ExpenseCategoryUpdateInput, + ExpenseCategoryUpdateInputTypedDict, +) from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict from .unexpectederrorresponse import ( UnexpectedErrorResponse, @@ -50,7 +53,7 @@ class AccountingExpenseCategoriesUpdateGlobals(BaseModel): class AccountingExpenseCategoriesUpdateRequestTypedDict(TypedDict): id: str r"""ID of the record you are acting upon.""" - expense_category: ExpenseCategoryInputTypedDict + expense_category_update_input: ExpenseCategoryUpdateInputTypedDict consumer_id: NotRequired[str] r"""ID of the consumer which you want to get or push data from""" app_id: NotRequired[str] @@ -67,8 +70,8 @@ class AccountingExpenseCategoriesUpdateRequest(BaseModel): ] r"""ID of the record you are acting upon.""" - expense_category: Annotated[ - ExpenseCategoryInput, + expense_category_update_input: Annotated[ + ExpenseCategoryUpdateInput, FieldMetadata(request=RequestMetadata(media_type="application/json")), ] diff --git a/src/apideck_unify/models/accounting_expensereportsupdateop.py b/src/apideck_unify/models/accounting_expensereportsupdateop.py index ab1c50c4b..4f389706b 100644 --- a/src/apideck_unify/models/accounting_expensereportsupdateop.py +++ b/src/apideck_unify/models/accounting_expensereportsupdateop.py @@ -1,7 +1,10 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .expensereport import ExpenseReportInput, ExpenseReportInputTypedDict +from .expensereportupdateinput import ( + ExpenseReportUpdateInput, + ExpenseReportUpdateInputTypedDict, +) from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict from .unexpectederrorresponse import ( UnexpectedErrorResponse, @@ -50,7 +53,7 @@ class AccountingExpenseReportsUpdateGlobals(BaseModel): class AccountingExpenseReportsUpdateRequestTypedDict(TypedDict): id: str r"""ID of the record you are acting upon.""" - expense_report: ExpenseReportInputTypedDict + expense_report_update_input: ExpenseReportUpdateInputTypedDict consumer_id: NotRequired[str] r"""ID of the consumer which you want to get or push data from""" app_id: NotRequired[str] @@ -67,8 +70,8 @@ class AccountingExpenseReportsUpdateRequest(BaseModel): ] r"""ID of the record you are acting upon.""" - expense_report: Annotated[ - ExpenseReportInput, + expense_report_update_input: Annotated[ + ExpenseReportUpdateInput, FieldMetadata(request=RequestMetadata(media_type="application/json")), ] diff --git a/src/apideck_unify/models/accounting_expensesupdateop.py b/src/apideck_unify/models/accounting_expensesupdateop.py index 8cc87fbcc..353061a9b 100644 --- a/src/apideck_unify/models/accounting_expensesupdateop.py +++ b/src/apideck_unify/models/accounting_expensesupdateop.py @@ -1,7 +1,7 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .expense import ExpenseInput, ExpenseInputTypedDict +from .expenseupdateinput import ExpenseUpdateInput, ExpenseUpdateInputTypedDict from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict from .unexpectederrorresponse import ( UnexpectedErrorResponse, @@ -47,7 +47,7 @@ class AccountingExpensesUpdateGlobals(BaseModel): class AccountingExpensesUpdateRequestTypedDict(TypedDict): id: str r"""ID of the record you are acting upon.""" - expense: ExpenseInputTypedDict + expense_update_input: ExpenseUpdateInputTypedDict consumer_id: NotRequired[str] r"""ID of the consumer which you want to get or push data from""" app_id: NotRequired[str] @@ -64,8 +64,8 @@ class AccountingExpensesUpdateRequest(BaseModel): ] r"""ID of the record you are acting upon.""" - expense: Annotated[ - ExpenseInput, + expense_update_input: Annotated[ + ExpenseUpdateInput, FieldMetadata(request=RequestMetadata(media_type="application/json")), ] diff --git a/src/apideck_unify/models/accounting_paymentsupdateop.py b/src/apideck_unify/models/accounting_paymentsupdateop.py index 03508509b..fbd3faf32 100644 --- a/src/apideck_unify/models/accounting_paymentsupdateop.py +++ b/src/apideck_unify/models/accounting_paymentsupdateop.py @@ -2,7 +2,7 @@ from __future__ import annotations from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict -from .payment_input import PaymentInput, PaymentInputTypedDict +from .paymentupdateinput import PaymentUpdateInput, PaymentUpdateInputTypedDict from .unexpectederrorresponse import ( UnexpectedErrorResponse, UnexpectedErrorResponseTypedDict, @@ -47,7 +47,7 @@ class AccountingPaymentsUpdateGlobals(BaseModel): class AccountingPaymentsUpdateRequestTypedDict(TypedDict): id: str r"""ID of the record you are acting upon.""" - payment: PaymentInputTypedDict + payment_update_input: PaymentUpdateInputTypedDict consumer_id: NotRequired[str] r"""ID of the consumer which you want to get or push data from""" app_id: NotRequired[str] @@ -66,8 +66,8 @@ class AccountingPaymentsUpdateRequest(BaseModel): ] r"""ID of the record you are acting upon.""" - payment: Annotated[ - PaymentInput, + payment_update_input: Annotated[ + PaymentUpdateInput, FieldMetadata(request=RequestMetadata(media_type="application/json")), ] diff --git a/src/apideck_unify/models/accounting_projectsupdateop.py b/src/apideck_unify/models/accounting_projectsupdateop.py index 1fbeda92e..890501810 100644 --- a/src/apideck_unify/models/accounting_projectsupdateop.py +++ b/src/apideck_unify/models/accounting_projectsupdateop.py @@ -2,7 +2,7 @@ from __future__ import annotations from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict -from .project import ProjectInput, ProjectInputTypedDict +from .projectupdateinput import ProjectUpdateInput, ProjectUpdateInputTypedDict from .unexpectederrorresponse import ( UnexpectedErrorResponse, UnexpectedErrorResponseTypedDict, @@ -47,7 +47,7 @@ class AccountingProjectsUpdateGlobals(BaseModel): class AccountingProjectsUpdateRequestTypedDict(TypedDict): id: str r"""ID of the record you are acting upon.""" - project: ProjectInputTypedDict + project_update_input: ProjectUpdateInputTypedDict consumer_id: NotRequired[str] r"""ID of the consumer which you want to get or push data from""" app_id: NotRequired[str] @@ -66,8 +66,8 @@ class AccountingProjectsUpdateRequest(BaseModel): ] r"""ID of the record you are acting upon.""" - project: Annotated[ - ProjectInput, + project_update_input: Annotated[ + ProjectUpdateInput, FieldMetadata(request=RequestMetadata(media_type="application/json")), ] diff --git a/src/apideck_unify/models/accounting_refundsupdateop.py b/src/apideck_unify/models/accounting_refundsupdateop.py index cf11a7cbc..b986d9d81 100644 --- a/src/apideck_unify/models/accounting_refundsupdateop.py +++ b/src/apideck_unify/models/accounting_refundsupdateop.py @@ -2,7 +2,7 @@ from __future__ import annotations from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict -from .refund_input import RefundInput, RefundInputTypedDict +from .refundupdateinput import RefundUpdateInput, RefundUpdateInputTypedDict from .unexpectederrorresponse import ( UnexpectedErrorResponse, UnexpectedErrorResponseTypedDict, @@ -47,7 +47,7 @@ class AccountingRefundsUpdateGlobals(BaseModel): class AccountingRefundsUpdateRequestTypedDict(TypedDict): id: str r"""ID of the record you are acting upon.""" - refund: RefundInputTypedDict + refund_update_input: RefundUpdateInputTypedDict consumer_id: NotRequired[str] r"""ID of the consumer which you want to get or push data from""" app_id: NotRequired[str] @@ -64,8 +64,8 @@ class AccountingRefundsUpdateRequest(BaseModel): ] r"""ID of the record you are acting upon.""" - refund: Annotated[ - RefundInput, + refund_update_input: Annotated[ + RefundUpdateInput, FieldMetadata(request=RequestMetadata(media_type="application/json")), ] diff --git a/src/apideck_unify/models/accounting_salesreceiptsupdateop.py b/src/apideck_unify/models/accounting_salesreceiptsupdateop.py index 7331454fb..461d57043 100644 --- a/src/apideck_unify/models/accounting_salesreceiptsupdateop.py +++ b/src/apideck_unify/models/accounting_salesreceiptsupdateop.py @@ -2,7 +2,10 @@ from __future__ import annotations from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict -from .salesreceipt_input import SalesReceiptInput, SalesReceiptInputTypedDict +from .salesreceiptupdateinput import ( + SalesReceiptUpdateInput, + SalesReceiptUpdateInputTypedDict, +) from .unexpectederrorresponse import ( UnexpectedErrorResponse, UnexpectedErrorResponseTypedDict, @@ -50,7 +53,7 @@ class AccountingSalesReceiptsUpdateGlobals(BaseModel): class AccountingSalesReceiptsUpdateRequestTypedDict(TypedDict): id: str r"""ID of the record you are acting upon.""" - sales_receipt: SalesReceiptInputTypedDict + sales_receipt_update_input: SalesReceiptUpdateInputTypedDict consumer_id: NotRequired[str] r"""ID of the consumer which you want to get or push data from""" app_id: NotRequired[str] @@ -69,8 +72,8 @@ class AccountingSalesReceiptsUpdateRequest(BaseModel): ] r"""ID of the record you are acting upon.""" - sales_receipt: Annotated[ - SalesReceiptInput, + sales_receipt_update_input: Annotated[ + SalesReceiptUpdateInput, FieldMetadata(request=RequestMetadata(media_type="application/json")), ] diff --git a/src/apideck_unify/models/billpaymentupdateinput.py b/src/apideck_unify/models/billpaymentupdateinput.py new file mode 100644 index 000000000..5f74f1aac --- /dev/null +++ b/src/apideck_unify/models/billpaymentupdateinput.py @@ -0,0 +1,347 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .currency import Currency +from .customfield import CustomField, CustomFieldTypedDict +from .linkedledgeraccount import LinkedLedgerAccount, LinkedLedgerAccountTypedDict +from .linkedsubsidiary_input import ( + LinkedSubsidiaryInput, + LinkedSubsidiaryInputTypedDict, +) +from .linkedsupplier_input import LinkedSupplierInput, LinkedSupplierInputTypedDict +from .linkedtrackingcategory import ( + LinkedTrackingCategory, + LinkedTrackingCategoryTypedDict, +) +from .passthroughbody import PassThroughBody, PassThroughBodyTypedDict +from .paymentstatus import PaymentStatus +from apideck_unify import models, utils +from apideck_unify.types import ( + BaseModel, + Nullable, + OptionalNullable, + UNSET, + UNSET_SENTINEL, +) +from apideck_unify.utils import validate_open_enum +from datetime import datetime +from enum import Enum +from pydantic import field_serializer, model_serializer +from pydantic.functional_validators import PlainValidator +from typing import List, Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class BillPaymentUpdateInputBillPaymentType(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Type of payment""" + + ACCOUNTS_PAYABLE_CREDIT = "accounts_payable_credit" + ACCOUNTS_PAYABLE_OVERPAYMENT = "accounts_payable_overpayment" + ACCOUNTS_PAYABLE_PREPAYMENT = "accounts_payable_prepayment" + ACCOUNTS_PAYABLE = "accounts_payable" + + +class BillPaymentUpdateInputAllocationType(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Type of entity this payment should be attributed to.""" + + BILL = "bill" + EXPENSE = "expense" + CREDIT_MEMO = "credit_memo" + OVER_PAYMENT = "over_payment" + PRE_PAYMENT = "pre_payment" + JOURNAL_ENTRY = "journal_entry" + OTHER = "other" + + +class BillPaymentUpdateInputAllocationsTypedDict(TypedDict): + id: NotRequired[Nullable[str]] + r"""A unique identifier for an object.""" + type: NotRequired[BillPaymentUpdateInputAllocationType] + r"""Type of entity this payment should be attributed to.""" + amount: NotRequired[Nullable[float]] + r"""Amount of payment that should be attributed to this allocation. If null, the total_amount will be used.""" + allocation_id: NotRequired[str] + r"""Unique identifier of the allocation""" + + +class BillPaymentUpdateInputAllocations(BaseModel): + id: OptionalNullable[str] = UNSET + r"""A unique identifier for an object.""" + + type: Annotated[ + Optional[BillPaymentUpdateInputAllocationType], + PlainValidator(validate_open_enum(False)), + ] = None + r"""Type of entity this payment should be attributed to.""" + + amount: OptionalNullable[float] = UNSET + r"""Amount of payment that should be attributed to this allocation. If null, the total_amount will be used.""" + + allocation_id: Optional[str] = None + r"""Unique identifier of the allocation""" + + @field_serializer("type") + def serialize_type(self, value): + if isinstance(value, str): + try: + return models.BillPaymentUpdateInputAllocationType(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = ["id", "type", "amount", "allocation_id"] + nullable_fields = ["id", "amount"] + null_default_fields = [] + + serialized = handler(self) + + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k) + serialized.pop(k, None) + + optional_nullable = k in optional_fields and k in nullable_fields + is_set = ( + self.__pydantic_fields_set__.intersection({n}) + or k in null_default_fields + ) # pylint: disable=no-member + + if val is not None and val != UNSET_SENTINEL: + m[k] = val + elif val != UNSET_SENTINEL and ( + not k in optional_fields or (optional_nullable and is_set) + ): + m[k] = val + + return m + + +class BillPaymentUpdateInputTypedDict(TypedDict): + r"""The writable shape of BillPayment for a single-record update. Identical to the model with the read-only properties removed and no required properties, because PATCH is partial and the API already validates it that way.""" + + currency: NotRequired[Nullable[Currency]] + r"""Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217).""" + currency_rate: NotRequired[Nullable[float]] + r"""Currency Exchange Rate at the time entity was recorded/generated.""" + total_amount: NotRequired[Nullable[float]] + r"""The total amount of the transaction or record""" + reference: NotRequired[Nullable[str]] + r"""Optional transaction reference message ie: Debit remittance detail.""" + payment_method: NotRequired[Nullable[str]] + r"""Payment method used for the transaction, such as cash, credit card, bank transfer, or check""" + payment_method_reference: NotRequired[Nullable[str]] + r"""Optional reference message returned by payment method on processing""" + payment_method_id: NotRequired[Nullable[str]] + r"""A unique identifier for an object.""" + account: NotRequired[Nullable[LinkedLedgerAccountTypedDict]] + transaction_date: NotRequired[Nullable[datetime]] + r"""The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD""" + supplier: NotRequired[Nullable[LinkedSupplierInputTypedDict]] + r"""The supplier this entity is linked to.""" + company_id: NotRequired[Nullable[str]] + r"""The company ID the transaction belongs to""" + subsidiary: NotRequired[Nullable[LinkedSubsidiaryInputTypedDict]] + reconciled: NotRequired[Nullable[bool]] + r"""Indicates if the transaction has been reconciled.""" + status: NotRequired[PaymentStatus] + r"""Status of payment""" + type: NotRequired[BillPaymentUpdateInputBillPaymentType] + r"""Type of payment""" + allocations: NotRequired[List[BillPaymentUpdateInputAllocationsTypedDict]] + note: NotRequired[Nullable[str]] + r"""Note associated with the transaction""" + number: NotRequired[Nullable[str]] + r"""Number associated with the transaction""" + tracking_categories: NotRequired[ + Nullable[List[Nullable[LinkedTrackingCategoryTypedDict]]] + ] + r"""A list of linked tracking categories.""" + custom_fields: NotRequired[List[CustomFieldTypedDict]] + row_version: NotRequired[Nullable[str]] + r"""A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object.""" + display_id: NotRequired[Nullable[str]] + r"""Id to be displayed.""" + pass_through: NotRequired[List[PassThroughBodyTypedDict]] + r"""The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources.""" + + +class BillPaymentUpdateInput(BaseModel): + r"""The writable shape of BillPayment for a single-record update. Identical to the model with the read-only properties removed and no required properties, because PATCH is partial and the API already validates it that way.""" + + currency: Annotated[ + OptionalNullable[Currency], PlainValidator(validate_open_enum(False)) + ] = UNSET + r"""Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217).""" + + currency_rate: OptionalNullable[float] = UNSET + r"""Currency Exchange Rate at the time entity was recorded/generated.""" + + total_amount: OptionalNullable[float] = UNSET + r"""The total amount of the transaction or record""" + + reference: OptionalNullable[str] = UNSET + r"""Optional transaction reference message ie: Debit remittance detail.""" + + payment_method: OptionalNullable[str] = UNSET + r"""Payment method used for the transaction, such as cash, credit card, bank transfer, or check""" + + payment_method_reference: OptionalNullable[str] = UNSET + r"""Optional reference message returned by payment method on processing""" + + payment_method_id: OptionalNullable[str] = UNSET + r"""A unique identifier for an object.""" + + account: OptionalNullable[LinkedLedgerAccount] = UNSET + + transaction_date: OptionalNullable[datetime] = UNSET + r"""The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD""" + + supplier: OptionalNullable[LinkedSupplierInput] = UNSET + r"""The supplier this entity is linked to.""" + + company_id: OptionalNullable[str] = UNSET + r"""The company ID the transaction belongs to""" + + subsidiary: OptionalNullable[LinkedSubsidiaryInput] = UNSET + + reconciled: OptionalNullable[bool] = UNSET + r"""Indicates if the transaction has been reconciled.""" + + status: Annotated[ + Optional[PaymentStatus], PlainValidator(validate_open_enum(False)) + ] = None + r"""Status of payment""" + + type: Annotated[ + Optional[BillPaymentUpdateInputBillPaymentType], + PlainValidator(validate_open_enum(False)), + ] = None + r"""Type of payment""" + + allocations: Optional[List[BillPaymentUpdateInputAllocations]] = None + + note: OptionalNullable[str] = UNSET + r"""Note associated with the transaction""" + + number: OptionalNullable[str] = UNSET + r"""Number associated with the transaction""" + + tracking_categories: OptionalNullable[List[Nullable[LinkedTrackingCategory]]] = ( + UNSET + ) + r"""A list of linked tracking categories.""" + + custom_fields: Optional[List[CustomField]] = None + + row_version: OptionalNullable[str] = UNSET + r"""A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object.""" + + display_id: OptionalNullable[str] = UNSET + r"""Id to be displayed.""" + + pass_through: Optional[List[PassThroughBody]] = None + r"""The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources.""" + + @field_serializer("currency") + def serialize_currency(self, value): + if isinstance(value, str): + try: + return models.Currency(value) + except ValueError: + return value + return value + + @field_serializer("status") + def serialize_status(self, value): + if isinstance(value, str): + try: + return models.PaymentStatus(value) + except ValueError: + return value + return value + + @field_serializer("type") + def serialize_type(self, value): + if isinstance(value, str): + try: + return models.BillPaymentUpdateInputBillPaymentType(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = [ + "currency", + "currency_rate", + "total_amount", + "reference", + "payment_method", + "payment_method_reference", + "payment_method_id", + "account", + "transaction_date", + "supplier", + "company_id", + "subsidiary", + "reconciled", + "status", + "type", + "allocations", + "note", + "number", + "tracking_categories", + "custom_fields", + "row_version", + "display_id", + "pass_through", + ] + nullable_fields = [ + "currency", + "currency_rate", + "total_amount", + "reference", + "payment_method", + "payment_method_reference", + "payment_method_id", + "account", + "transaction_date", + "supplier", + "company_id", + "subsidiary", + "reconciled", + "note", + "number", + "tracking_categories", + "row_version", + "display_id", + ] + null_default_fields = [] + + serialized = handler(self) + + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k) + serialized.pop(k, None) + + optional_nullable = k in optional_fields and k in nullable_fields + is_set = ( + self.__pydantic_fields_set__.intersection({n}) + or k in null_default_fields + ) # pylint: disable=no-member + + if val is not None and val != UNSET_SENTINEL: + m[k] = val + elif val != UNSET_SENTINEL and ( + not k in optional_fields or (optional_nullable and is_set) + ): + m[k] = val + + return m diff --git a/src/apideck_unify/models/creditnoteupdateinput.py b/src/apideck_unify/models/creditnoteupdateinput.py new file mode 100644 index 000000000..b56e101c3 --- /dev/null +++ b/src/apideck_unify/models/creditnoteupdateinput.py @@ -0,0 +1,333 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .address import Address, AddressTypedDict +from .allocation import AllocationInput, AllocationInputTypedDict +from .currency import Currency +from .customfield import CustomField, CustomFieldTypedDict +from .invoicelineitem import InvoiceLineItemInput, InvoiceLineItemInputTypedDict +from .linkedcustomer_input import LinkedCustomerInput, LinkedCustomerInputTypedDict +from .linkedledgeraccount import LinkedLedgerAccount, LinkedLedgerAccountTypedDict +from .linkedsubsidiary_input import ( + LinkedSubsidiaryInput, + LinkedSubsidiaryInputTypedDict, +) +from .linkedtrackingcategory import ( + LinkedTrackingCategory, + LinkedTrackingCategoryTypedDict, +) +from .passthroughbody import PassThroughBody, PassThroughBodyTypedDict +from apideck_unify import models, utils +from apideck_unify.types import ( + BaseModel, + Nullable, + OptionalNullable, + UNSET, + UNSET_SENTINEL, +) +from apideck_unify.utils import validate_open_enum +from datetime import datetime +from enum import Enum +from pydantic import field_serializer, model_serializer +from pydantic.functional_validators import PlainValidator +from typing import List, Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class CreditNoteUpdateInputCreditNoteStatus(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Status of credit notes""" + + DRAFT = "draft" + AUTHORISED = "authorised" + POSTED = "posted" + PARTIALLY_PAID = "partially_paid" + PAID = "paid" + VOIDED = "voided" + DELETED = "deleted" + + +class CreditNoteUpdateInputCreditNoteType(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Whether this credit note reduces an amount owed by a customer (accounts receivable) or owed to a supplier (accounts payable). `accounts_payable_credit` support is connector-specific — most connectors only expose the accounts-receivable side. Check the connector's gotchas for known deviations.""" + + ACCOUNTS_RECEIVABLE_CREDIT = "accounts_receivable_credit" + ACCOUNTS_PAYABLE_CREDIT = "accounts_payable_credit" + + +class CreditNoteUpdateInputTypedDict(TypedDict): + r"""The writable shape of CreditNote for a single-record update. Identical to the model with the read-only properties removed and no required properties, because PATCH is partial and the API already validates it that way.""" + + number: NotRequired[Nullable[str]] + r"""Credit note number.""" + customer: NotRequired[Nullable[LinkedCustomerInputTypedDict]] + r"""The customer this entity is linked to.""" + company_id: NotRequired[Nullable[str]] + r"""The company ID the transaction belongs to""" + subsidiary: NotRequired[Nullable[LinkedSubsidiaryInputTypedDict]] + location_id: NotRequired[Nullable[str]] + r"""The ID of the location""" + department_id: NotRequired[Nullable[str]] + r"""The ID of the department""" + currency: NotRequired[Nullable[Currency]] + r"""Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217).""" + currency_rate: NotRequired[Nullable[float]] + r"""Currency Exchange Rate at the time entity was recorded/generated.""" + tax_inclusive: NotRequired[Nullable[bool]] + r"""Amounts are including tax""" + sub_total: NotRequired[Nullable[float]] + r"""Sub-total amount, normally before tax.""" + total_amount: NotRequired[float] + r"""Amount of transaction""" + total_tax: NotRequired[Nullable[float]] + r"""Total tax amount applied to this invoice.""" + tax_code: NotRequired[Nullable[str]] + r"""Applicable tax id/code override if tax is not supplied on a line item basis.""" + balance: NotRequired[Nullable[float]] + r"""The balance reflecting any payments made against the transaction.""" + remaining_credit: NotRequired[Nullable[float]] + r"""Indicates the total credit amount still available to apply towards the payment.""" + status: NotRequired[CreditNoteUpdateInputCreditNoteStatus] + r"""Status of credit notes""" + reference: NotRequired[Nullable[str]] + r"""Optional reference message ie: Debit remittance detail.""" + date_issued: NotRequired[datetime] + r"""Date credit note issued - YYYY:MM::DDThh:mm:ss.sTZD""" + date_paid: NotRequired[Nullable[datetime]] + r"""Date credit note paid - YYYY:MM::DDThh:mm:ss.sTZD""" + type: NotRequired[CreditNoteUpdateInputCreditNoteType] + r"""Whether this credit note reduces an amount owed by a customer (accounts receivable) or owed to a supplier (accounts payable). `accounts_payable_credit` support is connector-specific — most connectors only expose the accounts-receivable side. Check the connector's gotchas for known deviations.""" + account: NotRequired[Nullable[LinkedLedgerAccountTypedDict]] + line_items: NotRequired[List[InvoiceLineItemInputTypedDict]] + allocations: NotRequired[List[AllocationInputTypedDict]] + note: NotRequired[Nullable[str]] + r"""Optional note to be associated with the credit note.""" + terms: NotRequired[Nullable[str]] + r"""Optional terms to be associated with the credit note.""" + terms_id: NotRequired[Nullable[str]] + r"""The ID of the payment terms""" + billing_address: NotRequired[AddressTypedDict] + shipping_address: NotRequired[AddressTypedDict] + tracking_categories: NotRequired[ + Nullable[List[Nullable[LinkedTrackingCategoryTypedDict]]] + ] + r"""A list of linked tracking categories.""" + custom_fields: NotRequired[List[CustomFieldTypedDict]] + row_version: NotRequired[Nullable[str]] + r"""A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object.""" + pass_through: NotRequired[List[PassThroughBodyTypedDict]] + r"""The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources.""" + + +class CreditNoteUpdateInput(BaseModel): + r"""The writable shape of CreditNote for a single-record update. Identical to the model with the read-only properties removed and no required properties, because PATCH is partial and the API already validates it that way.""" + + number: OptionalNullable[str] = UNSET + r"""Credit note number.""" + + customer: OptionalNullable[LinkedCustomerInput] = UNSET + r"""The customer this entity is linked to.""" + + company_id: OptionalNullable[str] = UNSET + r"""The company ID the transaction belongs to""" + + subsidiary: OptionalNullable[LinkedSubsidiaryInput] = UNSET + + location_id: OptionalNullable[str] = UNSET + r"""The ID of the location""" + + department_id: OptionalNullable[str] = UNSET + r"""The ID of the department""" + + currency: Annotated[ + OptionalNullable[Currency], PlainValidator(validate_open_enum(False)) + ] = UNSET + r"""Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217).""" + + currency_rate: OptionalNullable[float] = UNSET + r"""Currency Exchange Rate at the time entity was recorded/generated.""" + + tax_inclusive: OptionalNullable[bool] = UNSET + r"""Amounts are including tax""" + + sub_total: OptionalNullable[float] = UNSET + r"""Sub-total amount, normally before tax.""" + + total_amount: Optional[float] = None + r"""Amount of transaction""" + + total_tax: OptionalNullable[float] = UNSET + r"""Total tax amount applied to this invoice.""" + + tax_code: OptionalNullable[str] = UNSET + r"""Applicable tax id/code override if tax is not supplied on a line item basis.""" + + balance: OptionalNullable[float] = UNSET + r"""The balance reflecting any payments made against the transaction.""" + + remaining_credit: OptionalNullable[float] = UNSET + r"""Indicates the total credit amount still available to apply towards the payment.""" + + status: Annotated[ + Optional[CreditNoteUpdateInputCreditNoteStatus], + PlainValidator(validate_open_enum(False)), + ] = None + r"""Status of credit notes""" + + reference: OptionalNullable[str] = UNSET + r"""Optional reference message ie: Debit remittance detail.""" + + date_issued: Optional[datetime] = None + r"""Date credit note issued - YYYY:MM::DDThh:mm:ss.sTZD""" + + date_paid: OptionalNullable[datetime] = UNSET + r"""Date credit note paid - YYYY:MM::DDThh:mm:ss.sTZD""" + + type: Annotated[ + Optional[CreditNoteUpdateInputCreditNoteType], + PlainValidator(validate_open_enum(False)), + ] = None + r"""Whether this credit note reduces an amount owed by a customer (accounts receivable) or owed to a supplier (accounts payable). `accounts_payable_credit` support is connector-specific — most connectors only expose the accounts-receivable side. Check the connector's gotchas for known deviations.""" + + account: OptionalNullable[LinkedLedgerAccount] = UNSET + + line_items: Optional[List[InvoiceLineItemInput]] = None + + allocations: Optional[List[AllocationInput]] = None + + note: OptionalNullable[str] = UNSET + r"""Optional note to be associated with the credit note.""" + + terms: OptionalNullable[str] = UNSET + r"""Optional terms to be associated with the credit note.""" + + terms_id: OptionalNullable[str] = UNSET + r"""The ID of the payment terms""" + + billing_address: Optional[Address] = None + + shipping_address: Optional[Address] = None + + tracking_categories: OptionalNullable[List[Nullable[LinkedTrackingCategory]]] = ( + UNSET + ) + r"""A list of linked tracking categories.""" + + custom_fields: Optional[List[CustomField]] = None + + row_version: OptionalNullable[str] = UNSET + r"""A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object.""" + + pass_through: Optional[List[PassThroughBody]] = None + r"""The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources.""" + + @field_serializer("currency") + def serialize_currency(self, value): + if isinstance(value, str): + try: + return models.Currency(value) + except ValueError: + return value + return value + + @field_serializer("status") + def serialize_status(self, value): + if isinstance(value, str): + try: + return models.CreditNoteUpdateInputCreditNoteStatus(value) + except ValueError: + return value + return value + + @field_serializer("type") + def serialize_type(self, value): + if isinstance(value, str): + try: + return models.CreditNoteUpdateInputCreditNoteType(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = [ + "number", + "customer", + "company_id", + "subsidiary", + "location_id", + "department_id", + "currency", + "currency_rate", + "tax_inclusive", + "sub_total", + "total_amount", + "total_tax", + "tax_code", + "balance", + "remaining_credit", + "status", + "reference", + "date_issued", + "date_paid", + "type", + "account", + "line_items", + "allocations", + "note", + "terms", + "terms_id", + "billing_address", + "shipping_address", + "tracking_categories", + "custom_fields", + "row_version", + "pass_through", + ] + nullable_fields = [ + "number", + "customer", + "company_id", + "subsidiary", + "location_id", + "department_id", + "currency", + "currency_rate", + "tax_inclusive", + "sub_total", + "total_tax", + "tax_code", + "balance", + "remaining_credit", + "reference", + "date_paid", + "account", + "note", + "terms", + "terms_id", + "tracking_categories", + "row_version", + ] + null_default_fields = [] + + serialized = handler(self) + + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k) + serialized.pop(k, None) + + optional_nullable = k in optional_fields and k in nullable_fields + is_set = ( + self.__pydantic_fields_set__.intersection({n}) + or k in null_default_fields + ) # pylint: disable=no-member + + if val is not None and val != UNSET_SENTINEL: + m[k] = val + elif val != UNSET_SENTINEL and ( + not k in optional_fields or (optional_nullable and is_set) + ): + m[k] = val + + return m diff --git a/src/apideck_unify/models/expensecategoryupdateinput.py b/src/apideck_unify/models/expensecategoryupdateinput.py new file mode 100644 index 000000000..5407e5681 --- /dev/null +++ b/src/apideck_unify/models/expensecategoryupdateinput.py @@ -0,0 +1,155 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .linkedledgeraccount import LinkedLedgerAccount, LinkedLedgerAccountTypedDict +from .linkedtaxrate_input import LinkedTaxRateInput, LinkedTaxRateInputTypedDict +from .passthroughbody import PassThroughBody, PassThroughBodyTypedDict +from apideck_unify import models, utils +from apideck_unify.types import ( + BaseModel, + Nullable, + OptionalNullable, + UNSET, + UNSET_SENTINEL, +) +from apideck_unify.utils import validate_open_enum +from enum import Enum +from pydantic import field_serializer, model_serializer +from pydantic.functional_validators import PlainValidator +from typing import List, Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class ExpenseCategoryUpdateInputStatus(str, Enum, metaclass=utils.OpenEnumMeta): + r"""The status of the expense category.""" + + ACTIVE = "active" + INACTIVE = "inactive" + + +class ExpenseCategoryUpdateInputTypedDict(TypedDict): + r"""The writable shape of ExpenseCategory for a single-record update. Identical to the model with the read-only properties removed and no required properties, because PATCH is partial and the API already validates it that way.""" + + display_id: NotRequired[Nullable[str]] + r"""Id to be displayed.""" + name: NotRequired[str] + r"""The name of the expense category.""" + code: NotRequired[Nullable[str]] + r"""The code or external identifier of the expense category.""" + description: NotRequired[Nullable[str]] + r"""The description of the expense category.""" + status: NotRequired[Nullable[ExpenseCategoryUpdateInputStatus]] + r"""The status of the expense category.""" + account: NotRequired[Nullable[LinkedLedgerAccountTypedDict]] + offset_account: NotRequired[Nullable[LinkedLedgerAccountTypedDict]] + tax_rate: NotRequired[LinkedTaxRateInputTypedDict] + rate_required: NotRequired[Nullable[bool]] + r"""Whether the expense category requires rate/quantity entry (e.g. mileage at $/mile).""" + default_rate: NotRequired[Nullable[float]] + r"""Default rate when rate_required is true (e.g. 0.67 for mileage).""" + row_version: NotRequired[Nullable[str]] + r"""A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object.""" + pass_through: NotRequired[List[PassThroughBodyTypedDict]] + r"""The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources.""" + + +class ExpenseCategoryUpdateInput(BaseModel): + r"""The writable shape of ExpenseCategory for a single-record update. Identical to the model with the read-only properties removed and no required properties, because PATCH is partial and the API already validates it that way.""" + + display_id: OptionalNullable[str] = UNSET + r"""Id to be displayed.""" + + name: Optional[str] = None + r"""The name of the expense category.""" + + code: OptionalNullable[str] = UNSET + r"""The code or external identifier of the expense category.""" + + description: OptionalNullable[str] = UNSET + r"""The description of the expense category.""" + + status: Annotated[ + OptionalNullable[ExpenseCategoryUpdateInputStatus], + PlainValidator(validate_open_enum(False)), + ] = UNSET + r"""The status of the expense category.""" + + account: OptionalNullable[LinkedLedgerAccount] = UNSET + + offset_account: OptionalNullable[LinkedLedgerAccount] = UNSET + + tax_rate: Optional[LinkedTaxRateInput] = None + + rate_required: OptionalNullable[bool] = UNSET + r"""Whether the expense category requires rate/quantity entry (e.g. mileage at $/mile).""" + + default_rate: OptionalNullable[float] = UNSET + r"""Default rate when rate_required is true (e.g. 0.67 for mileage).""" + + row_version: OptionalNullable[str] = UNSET + r"""A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object.""" + + pass_through: Optional[List[PassThroughBody]] = None + r"""The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources.""" + + @field_serializer("status") + def serialize_status(self, value): + if isinstance(value, str): + try: + return models.ExpenseCategoryUpdateInputStatus(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = [ + "display_id", + "name", + "code", + "description", + "status", + "account", + "offset_account", + "tax_rate", + "rate_required", + "default_rate", + "row_version", + "pass_through", + ] + nullable_fields = [ + "display_id", + "code", + "description", + "status", + "account", + "offset_account", + "rate_required", + "default_rate", + "row_version", + ] + null_default_fields = [] + + serialized = handler(self) + + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k) + serialized.pop(k, None) + + optional_nullable = k in optional_fields and k in nullable_fields + is_set = ( + self.__pydantic_fields_set__.intersection({n}) + or k in null_default_fields + ) # pylint: disable=no-member + + if val is not None and val != UNSET_SENTINEL: + m[k] = val + elif val != UNSET_SENTINEL and ( + not k in optional_fields or (optional_nullable and is_set) + ): + m[k] = val + + return m diff --git a/src/apideck_unify/models/expensereportupdateinput.py b/src/apideck_unify/models/expensereportupdateinput.py new file mode 100644 index 000000000..0fbe73db6 --- /dev/null +++ b/src/apideck_unify/models/expensereportupdateinput.py @@ -0,0 +1,452 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .currency import Currency +from .customfield import CustomField, CustomFieldTypedDict +from .expensereportlineitem_input import ( + ExpenseReportLineItemInput, + ExpenseReportLineItemInputTypedDict, +) +from .linkeddepartment_input import ( + LinkedDepartmentInput, + LinkedDepartmentInputTypedDict, +) +from .linkedledgeraccount import LinkedLedgerAccount, LinkedLedgerAccountTypedDict +from .linkedlocation_input import LinkedLocationInput, LinkedLocationInputTypedDict +from .linkedsubsidiary_input import ( + LinkedSubsidiaryInput, + LinkedSubsidiaryInputTypedDict, +) +from .linkedtrackingcategory import ( + LinkedTrackingCategory, + LinkedTrackingCategoryTypedDict, +) +from .passthroughbody import PassThroughBody, PassThroughBodyTypedDict +from apideck_unify import models, utils +from apideck_unify.types import ( + BaseModel, + Nullable, + OptionalNullable, + UNSET, + UNSET_SENTINEL, +) +from apideck_unify.utils import validate_open_enum +from datetime import date, datetime +from enum import Enum +from pydantic import field_serializer, model_serializer +from pydantic.functional_validators import PlainValidator +from typing import List, Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class ExpenseReportUpdateInputEmployeeTypedDict(TypedDict): + r"""The employee who submitted the expense report.""" + + id: NotRequired[str] + r"""A unique identifier for the employee.""" + display_name: NotRequired[Nullable[str]] + r"""The display name of the employee.""" + + +class ExpenseReportUpdateInputEmployee(BaseModel): + r"""The employee who submitted the expense report.""" + + id: Optional[str] = None + r"""A unique identifier for the employee.""" + + display_name: OptionalNullable[str] = UNSET + r"""The display name of the employee.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = ["id", "display_name"] + nullable_fields = ["display_name"] + null_default_fields = [] + + serialized = handler(self) + + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k) + serialized.pop(k, None) + + optional_nullable = k in optional_fields and k in nullable_fields + is_set = ( + self.__pydantic_fields_set__.intersection({n}) + or k in null_default_fields + ) # pylint: disable=no-member + + if val is not None and val != UNSET_SENTINEL: + m[k] = val + elif val != UNSET_SENTINEL and ( + not k in optional_fields or (optional_nullable and is_set) + ): + m[k] = val + + return m + + +class ExpenseReportUpdateInputStatus(str, Enum, metaclass=utils.OpenEnumMeta): + r"""The status of the expense report.""" + + DRAFT = "draft" + SUBMITTED = "submitted" + APPROVED = "approved" + REIMBURSED = "reimbursed" + REJECTED = "rejected" + REVERSED = "reversed" + VOIDED = "voided" + + +class ExpenseReportUpdateInputAccountingPeriodTypedDict(TypedDict): + r"""The accounting period the expense report is posted to.""" + + id: NotRequired[str] + r"""A unique identifier for the accounting period.""" + name: NotRequired[Nullable[str]] + r"""The name of the accounting period.""" + + +class ExpenseReportUpdateInputAccountingPeriod(BaseModel): + r"""The accounting period the expense report is posted to.""" + + id: Optional[str] = None + r"""A unique identifier for the accounting period.""" + + name: OptionalNullable[str] = UNSET + r"""The name of the accounting period.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = ["id", "name"] + nullable_fields = ["name"] + null_default_fields = [] + + serialized = handler(self) + + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k) + serialized.pop(k, None) + + optional_nullable = k in optional_fields and k in nullable_fields + is_set = ( + self.__pydantic_fields_set__.intersection({n}) + or k in null_default_fields + ) # pylint: disable=no-member + + if val is not None and val != UNSET_SENTINEL: + m[k] = val + elif val != UNSET_SENTINEL and ( + not k in optional_fields or (optional_nullable and is_set) + ): + m[k] = val + + return m + + +class ExpenseReportUpdateInputApprovedByTypedDict(TypedDict): + r"""The person who approved the expense report.""" + + id: NotRequired[str] + r"""A unique identifier for the approver.""" + display_name: NotRequired[Nullable[str]] + r"""The display name of the approver.""" + + +class ExpenseReportUpdateInputApprovedBy(BaseModel): + r"""The person who approved the expense report.""" + + id: Optional[str] = None + r"""A unique identifier for the approver.""" + + display_name: OptionalNullable[str] = UNSET + r"""The display name of the approver.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = ["id", "display_name"] + nullable_fields = ["display_name"] + null_default_fields = [] + + serialized = handler(self) + + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k) + serialized.pop(k, None) + + optional_nullable = k in optional_fields and k in nullable_fields + is_set = ( + self.__pydantic_fields_set__.intersection({n}) + or k in null_default_fields + ) # pylint: disable=no-member + + if val is not None and val != UNSET_SENTINEL: + m[k] = val + elif val != UNSET_SENTINEL and ( + not k in optional_fields or (optional_nullable and is_set) + ): + m[k] = val + + return m + + +class ExpenseReportUpdateInputTypedDict(TypedDict): + r"""The writable shape of ExpenseReport for a single-record update. Identical to the model with the read-only properties removed and no required properties, because PATCH is partial and the API already validates it that way.""" + + display_id: NotRequired[Nullable[str]] + r"""Id to be displayed.""" + number: NotRequired[Nullable[str]] + r"""The expense report number.""" + title: NotRequired[Nullable[str]] + r"""Title or purpose of the expense report.""" + employee: NotRequired[ExpenseReportUpdateInputEmployeeTypedDict] + r"""The employee who submitted the expense report.""" + status: NotRequired[Nullable[ExpenseReportUpdateInputStatus]] + r"""The status of the expense report.""" + transaction_date: NotRequired[Nullable[datetime]] + r"""The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD""" + posting_date: NotRequired[Nullable[date]] + r"""The date the expense report was posted to the general ledger.""" + due_date: NotRequired[Nullable[date]] + r"""Date when reimbursement is due.""" + currency: NotRequired[Nullable[Currency]] + r"""Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217).""" + currency_rate: NotRequired[Nullable[float]] + r"""Currency Exchange Rate at the time entity was recorded/generated.""" + sub_total: NotRequired[Nullable[float]] + r"""Subtotal amount, normally before tax.""" + total_tax: NotRequired[Nullable[float]] + r"""Total tax amount applied to this transaction.""" + total_amount: NotRequired[Nullable[float]] + r"""Total amount of all expense lines including tax.""" + reimbursable_amount: NotRequired[Nullable[float]] + r"""Total reimbursable amount (may differ from total if some expenses are non-reimbursable).""" + memo: NotRequired[Nullable[str]] + r"""The memo of the expense report.""" + department: NotRequired[Nullable[LinkedDepartmentInputTypedDict]] + location: NotRequired[Nullable[LinkedLocationInputTypedDict]] + account: NotRequired[Nullable[LinkedLedgerAccountTypedDict]] + accounting_period: NotRequired[ + Nullable[ExpenseReportUpdateInputAccountingPeriodTypedDict] + ] + r"""The accounting period the expense report is posted to.""" + line_items: NotRequired[List[ExpenseReportLineItemInputTypedDict]] + r"""Expense line items linked to this expense report.""" + reference: NotRequired[Nullable[str]] + r"""Optional reference identifier for the transaction.""" + subsidiary: NotRequired[Nullable[LinkedSubsidiaryInputTypedDict]] + tracking_categories: NotRequired[ + Nullable[List[Nullable[LinkedTrackingCategoryTypedDict]]] + ] + r"""A list of linked tracking categories.""" + tax_inclusive: NotRequired[Nullable[bool]] + r"""Amounts are including tax""" + approved_by: NotRequired[Nullable[ExpenseReportUpdateInputApprovedByTypedDict]] + r"""The person who approved the expense report.""" + custom_fields: NotRequired[List[CustomFieldTypedDict]] + row_version: NotRequired[Nullable[str]] + r"""A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object.""" + pass_through: NotRequired[List[PassThroughBodyTypedDict]] + r"""The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources.""" + + +class ExpenseReportUpdateInput(BaseModel): + r"""The writable shape of ExpenseReport for a single-record update. Identical to the model with the read-only properties removed and no required properties, because PATCH is partial and the API already validates it that way.""" + + display_id: OptionalNullable[str] = UNSET + r"""Id to be displayed.""" + + number: OptionalNullable[str] = UNSET + r"""The expense report number.""" + + title: OptionalNullable[str] = UNSET + r"""Title or purpose of the expense report.""" + + employee: Optional[ExpenseReportUpdateInputEmployee] = None + r"""The employee who submitted the expense report.""" + + status: Annotated[ + OptionalNullable[ExpenseReportUpdateInputStatus], + PlainValidator(validate_open_enum(False)), + ] = UNSET + r"""The status of the expense report.""" + + transaction_date: OptionalNullable[datetime] = UNSET + r"""The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD""" + + posting_date: OptionalNullable[date] = UNSET + r"""The date the expense report was posted to the general ledger.""" + + due_date: OptionalNullable[date] = UNSET + r"""Date when reimbursement is due.""" + + currency: Annotated[ + OptionalNullable[Currency], PlainValidator(validate_open_enum(False)) + ] = UNSET + r"""Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217).""" + + currency_rate: OptionalNullable[float] = UNSET + r"""Currency Exchange Rate at the time entity was recorded/generated.""" + + sub_total: OptionalNullable[float] = UNSET + r"""Subtotal amount, normally before tax.""" + + total_tax: OptionalNullable[float] = UNSET + r"""Total tax amount applied to this transaction.""" + + total_amount: OptionalNullable[float] = UNSET + r"""Total amount of all expense lines including tax.""" + + reimbursable_amount: OptionalNullable[float] = UNSET + r"""Total reimbursable amount (may differ from total if some expenses are non-reimbursable).""" + + memo: OptionalNullable[str] = UNSET + r"""The memo of the expense report.""" + + department: OptionalNullable[LinkedDepartmentInput] = UNSET + + location: OptionalNullable[LinkedLocationInput] = UNSET + + account: OptionalNullable[LinkedLedgerAccount] = UNSET + + accounting_period: OptionalNullable[ExpenseReportUpdateInputAccountingPeriod] = ( + UNSET + ) + r"""The accounting period the expense report is posted to.""" + + line_items: Optional[List[ExpenseReportLineItemInput]] = None + r"""Expense line items linked to this expense report.""" + + reference: OptionalNullable[str] = UNSET + r"""Optional reference identifier for the transaction.""" + + subsidiary: OptionalNullable[LinkedSubsidiaryInput] = UNSET + + tracking_categories: OptionalNullable[List[Nullable[LinkedTrackingCategory]]] = ( + UNSET + ) + r"""A list of linked tracking categories.""" + + tax_inclusive: OptionalNullable[bool] = UNSET + r"""Amounts are including tax""" + + approved_by: OptionalNullable[ExpenseReportUpdateInputApprovedBy] = UNSET + r"""The person who approved the expense report.""" + + custom_fields: Optional[List[CustomField]] = None + + row_version: OptionalNullable[str] = UNSET + r"""A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object.""" + + pass_through: Optional[List[PassThroughBody]] = None + r"""The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources.""" + + @field_serializer("status") + def serialize_status(self, value): + if isinstance(value, str): + try: + return models.ExpenseReportUpdateInputStatus(value) + except ValueError: + return value + return value + + @field_serializer("currency") + def serialize_currency(self, value): + if isinstance(value, str): + try: + return models.Currency(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = [ + "display_id", + "number", + "title", + "employee", + "status", + "transaction_date", + "posting_date", + "due_date", + "currency", + "currency_rate", + "sub_total", + "total_tax", + "total_amount", + "reimbursable_amount", + "memo", + "department", + "location", + "account", + "accounting_period", + "line_items", + "reference", + "subsidiary", + "tracking_categories", + "tax_inclusive", + "approved_by", + "custom_fields", + "row_version", + "pass_through", + ] + nullable_fields = [ + "display_id", + "number", + "title", + "status", + "transaction_date", + "posting_date", + "due_date", + "currency", + "currency_rate", + "sub_total", + "total_tax", + "total_amount", + "reimbursable_amount", + "memo", + "department", + "location", + "account", + "accounting_period", + "reference", + "subsidiary", + "tracking_categories", + "tax_inclusive", + "approved_by", + "row_version", + ] + null_default_fields = [] + + serialized = handler(self) + + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k) + serialized.pop(k, None) + + optional_nullable = k in optional_fields and k in nullable_fields + is_set = ( + self.__pydantic_fields_set__.intersection({n}) + or k in null_default_fields + ) # pylint: disable=no-member + + if val is not None and val != UNSET_SENTINEL: + m[k] = val + elif val != UNSET_SENTINEL and ( + not k in optional_fields or (optional_nullable and is_set) + ): + m[k] = val + + return m diff --git a/src/apideck_unify/models/expenseupdateinput.py b/src/apideck_unify/models/expenseupdateinput.py new file mode 100644 index 000000000..a00f83092 --- /dev/null +++ b/src/apideck_unify/models/expenseupdateinput.py @@ -0,0 +1,353 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .currency import Currency +from .customfield import CustomField, CustomFieldTypedDict +from .expenselineitem_input import ExpenseLineItemInput, ExpenseLineItemInputTypedDict +from .linkeddepartment_input import ( + LinkedDepartmentInput, + LinkedDepartmentInputTypedDict, +) +from .linkedfinancialaccount import ( + LinkedFinancialAccountInput, + LinkedFinancialAccountInputTypedDict, +) +from .linkedlocation_input import LinkedLocationInput, LinkedLocationInputTypedDict +from .linkedsupplier_input import LinkedSupplierInput, LinkedSupplierInputTypedDict +from .linkedtaxrate_input import LinkedTaxRateInput, LinkedTaxRateInputTypedDict +from .linkedtrackingcategory import ( + LinkedTrackingCategory, + LinkedTrackingCategoryTypedDict, +) +from .passthroughbody import PassThroughBody, PassThroughBodyTypedDict +from apideck_unify import models, utils +from apideck_unify.types import ( + BaseModel, + Nullable, + OptionalNullable, + UNSET, + UNSET_SENTINEL, +) +from apideck_unify.utils import validate_open_enum +from datetime import datetime +from enum import Enum +import pydantic +from pydantic import field_serializer, model_serializer +from pydantic.functional_validators import PlainValidator +from typing import List, Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class ExpenseUpdateInputPaymentType(str, Enum, metaclass=utils.OpenEnumMeta): + r"""The type of payment for the expense.""" + + CASH = "cash" + CHECK = "check" + CREDIT_CARD = "credit_card" + OTHER = "other" + + +class ExpenseUpdateInputExpenseType(str, Enum, metaclass=utils.OpenEnumMeta): + r"""The type of expense.""" + + EXPENSE = "expense" + REFUND = "refund" + + +class ExpenseUpdateInputStatus(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Expense status""" + + DRAFT = "draft" + POSTED = "posted" + VOIDED = "voided" + + +class ExpenseUpdateInputTypedDict(TypedDict): + r"""The writable shape of Expense for a single-record update. Identical to the model with the read-only properties removed and no required properties, because PATCH is partial and the API already validates it that way.""" + + display_id: NotRequired[Nullable[str]] + r"""Id to be displayed.""" + number: NotRequired[Nullable[str]] + r"""Number.""" + transaction_date: NotRequired[Nullable[datetime]] + r"""The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD""" + account_id: NotRequired[str] + r"""The unique identifier for the ledger account that this expense should be credited to. Deprecated, use account instead.""" + account: NotRequired[Nullable[LinkedFinancialAccountInputTypedDict]] + r"""A flexible account reference that can represent a ledger account (GL account), a bank account, or an employee payable account, depending on the connector's requirements.""" + supplier_id: NotRequired[str] + r"""The ID of the supplier this entity is linked to. Deprecated, use supplier instead.""" + supplier: NotRequired[Nullable[LinkedSupplierInputTypedDict]] + r"""The supplier this entity is linked to.""" + company_id: NotRequired[Nullable[str]] + r"""The company ID the transaction belongs to""" + location: NotRequired[Nullable[LinkedLocationInputTypedDict]] + department_id: NotRequired[Nullable[str]] + r"""The ID of the department""" + department: NotRequired[Nullable[LinkedDepartmentInputTypedDict]] + payment_type: NotRequired[Nullable[ExpenseUpdateInputPaymentType]] + r"""The type of payment for the expense.""" + currency: NotRequired[Nullable[Currency]] + r"""Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217).""" + currency_rate: NotRequired[Nullable[float]] + r"""Currency Exchange Rate at the time entity was recorded/generated.""" + type: NotRequired[Nullable[ExpenseUpdateInputExpenseType]] + r"""The type of expense.""" + memo: NotRequired[Nullable[str]] + r"""The memo of the expense.""" + tax_rate: NotRequired[LinkedTaxRateInputTypedDict] + tax_inclusive: NotRequired[Nullable[bool]] + r"""Amounts are including tax""" + sub_total: NotRequired[Nullable[float]] + r"""Subtotal amount, normally before tax.""" + total_tax: NotRequired[Nullable[float]] + r"""Total tax amount applied to this transaction.""" + total_amount: NotRequired[Nullable[float]] + r"""The total amount of the expense line item.""" + tracking_categories: NotRequired[ + Nullable[List[Nullable[LinkedTrackingCategoryTypedDict]]] + ] + r"""A list of linked tracking categories.""" + line_items: NotRequired[List[ExpenseLineItemInputTypedDict]] + r"""Expense line items linked to this expense.""" + reference: NotRequired[Nullable[str]] + r"""Optional reference identifier for the transaction.""" + source_document_url: NotRequired[Nullable[str]] + r"""URL link to a source document - shown as 'Go to [appName]' in the downstream app. Currently only supported for Xero.""" + custom_fields: NotRequired[List[CustomFieldTypedDict]] + status: NotRequired[Nullable[ExpenseUpdateInputStatus]] + r"""Expense status""" + row_version: NotRequired[Nullable[str]] + r"""A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object.""" + pass_through: NotRequired[List[PassThroughBodyTypedDict]] + r"""The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources.""" + + +class ExpenseUpdateInput(BaseModel): + r"""The writable shape of Expense for a single-record update. Identical to the model with the read-only properties removed and no required properties, because PATCH is partial and the API already validates it that way.""" + + display_id: OptionalNullable[str] = UNSET + r"""Id to be displayed.""" + + number: OptionalNullable[str] = UNSET + r"""Number.""" + + transaction_date: OptionalNullable[datetime] = UNSET + r"""The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD""" + + account_id: Annotated[ + Optional[str], + pydantic.Field( + deprecated="warning: ** DEPRECATED ** - Deprecated. Use account instead.." + ), + ] = None + r"""The unique identifier for the ledger account that this expense should be credited to. Deprecated, use account instead.""" + + account: OptionalNullable[LinkedFinancialAccountInput] = UNSET + r"""A flexible account reference that can represent a ledger account (GL account), a bank account, or an employee payable account, depending on the connector's requirements.""" + + supplier_id: Annotated[ + Optional[str], + pydantic.Field( + deprecated="warning: ** DEPRECATED ** - Deprecated. Use supplier instead.." + ), + ] = None + r"""The ID of the supplier this entity is linked to. Deprecated, use supplier instead.""" + + supplier: OptionalNullable[LinkedSupplierInput] = UNSET + r"""The supplier this entity is linked to.""" + + company_id: OptionalNullable[str] = UNSET + r"""The company ID the transaction belongs to""" + + location: OptionalNullable[LinkedLocationInput] = UNSET + + department_id: OptionalNullable[str] = UNSET + r"""The ID of the department""" + + department: OptionalNullable[LinkedDepartmentInput] = UNSET + + payment_type: Annotated[ + OptionalNullable[ExpenseUpdateInputPaymentType], + PlainValidator(validate_open_enum(False)), + ] = UNSET + r"""The type of payment for the expense.""" + + currency: Annotated[ + OptionalNullable[Currency], PlainValidator(validate_open_enum(False)) + ] = UNSET + r"""Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217).""" + + currency_rate: OptionalNullable[float] = UNSET + r"""Currency Exchange Rate at the time entity was recorded/generated.""" + + type: Annotated[ + OptionalNullable[ExpenseUpdateInputExpenseType], + PlainValidator(validate_open_enum(False)), + ] = UNSET + r"""The type of expense.""" + + memo: OptionalNullable[str] = UNSET + r"""The memo of the expense.""" + + tax_rate: Optional[LinkedTaxRateInput] = None + + tax_inclusive: OptionalNullable[bool] = UNSET + r"""Amounts are including tax""" + + sub_total: OptionalNullable[float] = UNSET + r"""Subtotal amount, normally before tax.""" + + total_tax: OptionalNullable[float] = UNSET + r"""Total tax amount applied to this transaction.""" + + total_amount: OptionalNullable[float] = UNSET + r"""The total amount of the expense line item.""" + + tracking_categories: OptionalNullable[List[Nullable[LinkedTrackingCategory]]] = ( + UNSET + ) + r"""A list of linked tracking categories.""" + + line_items: Optional[List[ExpenseLineItemInput]] = None + r"""Expense line items linked to this expense.""" + + reference: OptionalNullable[str] = UNSET + r"""Optional reference identifier for the transaction.""" + + source_document_url: OptionalNullable[str] = UNSET + r"""URL link to a source document - shown as 'Go to [appName]' in the downstream app. Currently only supported for Xero.""" + + custom_fields: Optional[List[CustomField]] = None + + status: Annotated[ + OptionalNullable[ExpenseUpdateInputStatus], + PlainValidator(validate_open_enum(False)), + ] = UNSET + r"""Expense status""" + + row_version: OptionalNullable[str] = UNSET + r"""A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object.""" + + pass_through: Optional[List[PassThroughBody]] = None + r"""The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources.""" + + @field_serializer("payment_type") + def serialize_payment_type(self, value): + if isinstance(value, str): + try: + return models.ExpenseUpdateInputPaymentType(value) + except ValueError: + return value + return value + + @field_serializer("currency") + def serialize_currency(self, value): + if isinstance(value, str): + try: + return models.Currency(value) + except ValueError: + return value + return value + + @field_serializer("type") + def serialize_type(self, value): + if isinstance(value, str): + try: + return models.ExpenseUpdateInputExpenseType(value) + except ValueError: + return value + return value + + @field_serializer("status") + def serialize_status(self, value): + if isinstance(value, str): + try: + return models.ExpenseUpdateInputStatus(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = [ + "display_id", + "number", + "transaction_date", + "account_id", + "account", + "supplier_id", + "supplier", + "company_id", + "location", + "department_id", + "department", + "payment_type", + "currency", + "currency_rate", + "type", + "memo", + "tax_rate", + "tax_inclusive", + "sub_total", + "total_tax", + "total_amount", + "tracking_categories", + "line_items", + "reference", + "source_document_url", + "custom_fields", + "status", + "row_version", + "pass_through", + ] + nullable_fields = [ + "display_id", + "number", + "transaction_date", + "account", + "supplier", + "company_id", + "location", + "department_id", + "department", + "payment_type", + "currency", + "currency_rate", + "type", + "memo", + "tax_inclusive", + "sub_total", + "total_tax", + "total_amount", + "tracking_categories", + "reference", + "source_document_url", + "status", + "row_version", + ] + null_default_fields = [] + + serialized = handler(self) + + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k) + serialized.pop(k, None) + + optional_nullable = k in optional_fields and k in nullable_fields + is_set = ( + self.__pydantic_fields_set__.intersection({n}) + or k in null_default_fields + ) # pylint: disable=no-member + + if val is not None and val != UNSET_SENTINEL: + m[k] = val + elif val != UNSET_SENTINEL and ( + not k in optional_fields or (optional_nullable and is_set) + ): + m[k] = val + + return m diff --git a/src/apideck_unify/models/paymentupdateinput.py b/src/apideck_unify/models/paymentupdateinput.py new file mode 100644 index 000000000..8b6e0554d --- /dev/null +++ b/src/apideck_unify/models/paymentupdateinput.py @@ -0,0 +1,300 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .allocation import AllocationInput, AllocationInputTypedDict +from .currency import Currency +from .customfield import CustomField, CustomFieldTypedDict +from .deprecatedlinkedsupplier_input import ( + DeprecatedLinkedSupplierInput, + DeprecatedLinkedSupplierInputTypedDict, +) +from .linkedcustomer_input import LinkedCustomerInput, LinkedCustomerInputTypedDict +from .linkedledgeraccount import LinkedLedgerAccount, LinkedLedgerAccountTypedDict +from .linkedsubsidiary_input import ( + LinkedSubsidiaryInput, + LinkedSubsidiaryInputTypedDict, +) +from .linkedtrackingcategory import ( + LinkedTrackingCategory, + LinkedTrackingCategoryTypedDict, +) +from .passthroughbody import PassThroughBody, PassThroughBodyTypedDict +from .paymentstatus import PaymentStatus +from .paymenttype import PaymentType +from apideck_unify import models +from apideck_unify.types import ( + BaseModel, + Nullable, + OptionalNullable, + UNSET, + UNSET_SENTINEL, +) +from apideck_unify.utils import validate_open_enum +from datetime import datetime +import pydantic +from pydantic import field_serializer, model_serializer +from pydantic.functional_validators import PlainValidator +from typing import List, Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class PaymentUpdateInputTypedDict(TypedDict): + r"""The writable shape of Payment for a single-record update. Identical to the model with the read-only properties removed and no required properties, because PATCH is partial and the API already validates it that way.""" + + currency: NotRequired[Nullable[Currency]] + r"""Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217).""" + currency_rate: NotRequired[Nullable[float]] + r"""Currency Exchange Rate at the time entity was recorded/generated.""" + total_amount: NotRequired[Nullable[float]] + r"""The total amount of the transaction or record""" + reference: NotRequired[Nullable[str]] + r"""Optional transaction reference message ie: Debit remittance detail.""" + payment_method: NotRequired[Nullable[str]] + r"""Payment method used for the transaction, such as cash, credit card, bank transfer, or check""" + payment_method_reference: NotRequired[Nullable[str]] + r"""Optional reference message returned by payment method on processing""" + payment_method_id: NotRequired[Nullable[str]] + r"""A unique identifier for an object.""" + accounts_receivable_account_type: NotRequired[Nullable[str]] + r"""Type of accounts receivable account.""" + accounts_receivable_account_id: NotRequired[Nullable[str]] + r"""Unique identifier for the account to allocate payment to.""" + account: NotRequired[Nullable[LinkedLedgerAccountTypedDict]] + transaction_date: NotRequired[Nullable[datetime]] + r"""The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD""" + customer: NotRequired[Nullable[LinkedCustomerInputTypedDict]] + r"""The customer this entity is linked to.""" + supplier: NotRequired[Nullable[DeprecatedLinkedSupplierInputTypedDict]] + r"""The supplier this entity is linked to.""" + company_id: NotRequired[Nullable[str]] + r"""The company ID the transaction belongs to""" + subsidiary: NotRequired[Nullable[LinkedSubsidiaryInputTypedDict]] + reconciled: NotRequired[Nullable[bool]] + r"""Indicates if the transaction has been reconciled.""" + status: NotRequired[PaymentStatus] + r"""Status of payment""" + type: NotRequired[PaymentType] + r"""Type of payment""" + allocations: NotRequired[List[AllocationInputTypedDict]] + note: NotRequired[Nullable[str]] + r"""Note associated with the transaction""" + number: NotRequired[Nullable[str]] + r"""Number associated with the transaction""" + tracking_categories: NotRequired[ + Nullable[List[Nullable[LinkedTrackingCategoryTypedDict]]] + ] + r"""A list of linked tracking categories.""" + custom_fields: NotRequired[List[CustomFieldTypedDict]] + row_version: NotRequired[Nullable[str]] + r"""A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object.""" + display_id: NotRequired[Nullable[str]] + r"""Id to be displayed.""" + pass_through: NotRequired[List[PassThroughBodyTypedDict]] + r"""The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources.""" + + +class PaymentUpdateInput(BaseModel): + r"""The writable shape of Payment for a single-record update. Identical to the model with the read-only properties removed and no required properties, because PATCH is partial and the API already validates it that way.""" + + currency: Annotated[ + OptionalNullable[Currency], PlainValidator(validate_open_enum(False)) + ] = UNSET + r"""Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217).""" + + currency_rate: OptionalNullable[float] = UNSET + r"""Currency Exchange Rate at the time entity was recorded/generated.""" + + total_amount: OptionalNullable[float] = UNSET + r"""The total amount of the transaction or record""" + + reference: OptionalNullable[str] = UNSET + r"""Optional transaction reference message ie: Debit remittance detail.""" + + payment_method: OptionalNullable[str] = UNSET + r"""Payment method used for the transaction, such as cash, credit card, bank transfer, or check""" + + payment_method_reference: OptionalNullable[str] = UNSET + r"""Optional reference message returned by payment method on processing""" + + payment_method_id: OptionalNullable[str] = UNSET + r"""A unique identifier for an object.""" + + accounts_receivable_account_type: Annotated[ + OptionalNullable[str], + pydantic.Field( + deprecated="warning: ** DEPRECATED ** - This field is deprecated and may be removed in a future version.." + ), + ] = UNSET + r"""Type of accounts receivable account.""" + + accounts_receivable_account_id: Annotated[ + OptionalNullable[str], + pydantic.Field( + deprecated="warning: ** DEPRECATED ** - This field is deprecated and may be removed in a future version.." + ), + ] = UNSET + r"""Unique identifier for the account to allocate payment to.""" + + account: OptionalNullable[LinkedLedgerAccount] = UNSET + + transaction_date: OptionalNullable[datetime] = UNSET + r"""The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD""" + + customer: OptionalNullable[LinkedCustomerInput] = UNSET + r"""The customer this entity is linked to.""" + + supplier: Annotated[ + OptionalNullable[DeprecatedLinkedSupplierInput], + pydantic.Field( + deprecated="warning: ** DEPRECATED ** - This field is deprecated and may be removed in a future version.." + ), + ] = UNSET + r"""The supplier this entity is linked to.""" + + company_id: OptionalNullable[str] = UNSET + r"""The company ID the transaction belongs to""" + + subsidiary: OptionalNullable[LinkedSubsidiaryInput] = UNSET + + reconciled: OptionalNullable[bool] = UNSET + r"""Indicates if the transaction has been reconciled.""" + + status: Annotated[ + Optional[PaymentStatus], PlainValidator(validate_open_enum(False)) + ] = None + r"""Status of payment""" + + type: Annotated[ + Optional[PaymentType], PlainValidator(validate_open_enum(False)) + ] = None + r"""Type of payment""" + + allocations: Optional[List[AllocationInput]] = None + + note: OptionalNullable[str] = UNSET + r"""Note associated with the transaction""" + + number: OptionalNullable[str] = UNSET + r"""Number associated with the transaction""" + + tracking_categories: OptionalNullable[List[Nullable[LinkedTrackingCategory]]] = ( + UNSET + ) + r"""A list of linked tracking categories.""" + + custom_fields: Optional[List[CustomField]] = None + + row_version: OptionalNullable[str] = UNSET + r"""A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object.""" + + display_id: OptionalNullable[str] = UNSET + r"""Id to be displayed.""" + + pass_through: Optional[List[PassThroughBody]] = None + r"""The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources.""" + + @field_serializer("currency") + def serialize_currency(self, value): + if isinstance(value, str): + try: + return models.Currency(value) + except ValueError: + return value + return value + + @field_serializer("status") + def serialize_status(self, value): + if isinstance(value, str): + try: + return models.PaymentStatus(value) + except ValueError: + return value + return value + + @field_serializer("type") + def serialize_type(self, value): + if isinstance(value, str): + try: + return models.PaymentType(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = [ + "currency", + "currency_rate", + "total_amount", + "reference", + "payment_method", + "payment_method_reference", + "payment_method_id", + "accounts_receivable_account_type", + "accounts_receivable_account_id", + "account", + "transaction_date", + "customer", + "supplier", + "company_id", + "subsidiary", + "reconciled", + "status", + "type", + "allocations", + "note", + "number", + "tracking_categories", + "custom_fields", + "row_version", + "display_id", + "pass_through", + ] + nullable_fields = [ + "currency", + "currency_rate", + "total_amount", + "reference", + "payment_method", + "payment_method_reference", + "payment_method_id", + "accounts_receivable_account_type", + "accounts_receivable_account_id", + "account", + "transaction_date", + "customer", + "supplier", + "company_id", + "subsidiary", + "reconciled", + "note", + "number", + "tracking_categories", + "row_version", + "display_id", + ] + null_default_fields = [] + + serialized = handler(self) + + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k) + serialized.pop(k, None) + + optional_nullable = k in optional_fields and k in nullable_fields + is_set = ( + self.__pydantic_fields_set__.intersection({n}) + or k in null_default_fields + ) # pylint: disable=no-member + + if val is not None and val != UNSET_SENTINEL: + m[k] = val + elif val != UNSET_SENTINEL and ( + not k in optional_fields or (optional_nullable and is_set) + ): + m[k] = val + + return m diff --git a/src/apideck_unify/models/projectupdateinput.py b/src/apideck_unify/models/projectupdateinput.py new file mode 100644 index 000000000..d6d86a2e1 --- /dev/null +++ b/src/apideck_unify/models/projectupdateinput.py @@ -0,0 +1,499 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .address import Address, AddressTypedDict +from .currency import Currency +from .customfield import CustomField, CustomFieldTypedDict +from .linkedcustomer_input import LinkedCustomerInput, LinkedCustomerInputTypedDict +from .linkedtaxrate_input import LinkedTaxRateInput, LinkedTaxRateInputTypedDict +from .linkedtrackingcategory import ( + LinkedTrackingCategory, + LinkedTrackingCategoryTypedDict, +) +from apideck_unify import models, utils +from apideck_unify.types import ( + BaseModel, + Nullable, + OptionalNullable, + UNSET, + UNSET_SENTINEL, +) +from apideck_unify.utils import validate_open_enum +from datetime import date +from enum import Enum +from pydantic import field_serializer, model_serializer +from pydantic.functional_validators import PlainValidator +from typing import List, Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class ProjectUpdateInputProjectStatus(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Current status of the project""" + + ACTIVE = "active" + COMPLETED = "completed" + ON_HOLD = "on_hold" + CANCELLED = "cancelled" + DRAFT = "draft" + IN_PROGRESS = "in_progress" + APPROVED = "approved" + OTHER = "other" + + +class ProjectUpdateInputProjectType(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Type or category of the project""" + + CLIENT_PROJECT = "client_project" + INTERNAL_PROJECT = "internal_project" + MAINTENANCE = "maintenance" + RESEARCH_DEVELOPMENT = "research_development" + TRAINING = "training" + OTHER = "other" + + +class ProjectUpdateInputPriority(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Priority level of the project""" + + LOW = "low" + MEDIUM = "medium" + HIGH = "high" + CRITICAL = "critical" + + +class ProjectUpdateInputDepartmentTypedDict(TypedDict): + r"""Department or organizational unit associated with the project""" + + id: NotRequired[str] + r"""Unique identifier for the department""" + name: NotRequired[str] + r"""Name of the department""" + + +class ProjectUpdateInputDepartment(BaseModel): + r"""Department or organizational unit associated with the project""" + + id: Optional[str] = None + r"""Unique identifier for the department""" + + name: Optional[str] = None + r"""Name of the department""" + + +class ProjectUpdateInputParentProjectTypedDict(TypedDict): + r"""Parent project if this is a subproject""" + + id: NotRequired[str] + r"""Unique identifier for the parent project""" + name: NotRequired[str] + r"""Name of the parent project""" + + +class ProjectUpdateInputParentProject(BaseModel): + r"""Parent project if this is a subproject""" + + id: Optional[str] = None + r"""Unique identifier for the parent project""" + + name: Optional[str] = None + r"""Name of the parent project""" + + +class ProjectUpdateInputBillingMethod(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Method used for billing this project""" + + FIXED_PRICE = "fixed_price" + TIME_AND_MATERIALS = "time_and_materials" + MILESTONE_BASED = "milestone_based" + RETAINER = "retainer" + NON_BILLABLE = "non_billable" + + +class ProjectUpdateInputProjectPhase(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Current phase of the project lifecycle""" + + INITIATION = "initiation" + PLANNING = "planning" + EXECUTION = "execution" + MONITORING = "monitoring" + CLOSURE = "closure" + OTHER = "other" + + +class ProjectUpdateInputScheduleStatus(str, Enum, metaclass=utils.OpenEnumMeta): + r"""Current status of project schedule compared to plan""" + + AHEAD_OF_SCHEDULE = "ahead_of_schedule" + ON_SCHEDULE = "on_schedule" + BEHIND_SCHEDULE = "behind_schedule" + CRITICAL_DELAY = "critical_delay" + + +class ProjectUpdateInputTypedDict(TypedDict): + r"""The writable shape of Project for a single-record update. Identical to the model with the read-only properties removed and no required properties, because PATCH is partial and the API already validates it that way.""" + + name: NotRequired[str] + r"""Name of the project""" + display_id: NotRequired[Nullable[str]] + r"""User-friendly project identifier""" + reference_id: NotRequired[Nullable[str]] + r"""External reference identifier for the project""" + description: NotRequired[Nullable[str]] + r"""Detailed description of the project""" + status: NotRequired[Nullable[ProjectUpdateInputProjectStatus]] + r"""Current status of the project""" + active: NotRequired[Nullable[bool]] + r"""Indicates whether the project is currently active or inactive""" + project_type: NotRequired[Nullable[ProjectUpdateInputProjectType]] + r"""Type or category of the project""" + priority: NotRequired[Nullable[ProjectUpdateInputPriority]] + r"""Priority level of the project""" + completion_percentage: NotRequired[Nullable[float]] + r"""Percentage of project completion (0-100)""" + start_date: NotRequired[Nullable[date]] + r"""Start date of the project""" + end_date: NotRequired[Nullable[date]] + r"""Expected or planned end date of the project""" + completion_date: NotRequired[Nullable[date]] + r"""Actual end date of the project""" + customer: NotRequired[Nullable[LinkedCustomerInputTypedDict]] + r"""The customer this entity is linked to.""" + department: NotRequired[Nullable[ProjectUpdateInputDepartmentTypedDict]] + r"""Department or organizational unit associated with the project""" + company_id: NotRequired[Nullable[str]] + r"""The company ID the transaction belongs to""" + owner_id: NotRequired[Nullable[str]] + r"""ID of the user who owns/manages this project""" + parent_project: NotRequired[Nullable[ProjectUpdateInputParentProjectTypedDict]] + r"""Parent project if this is a subproject""" + currency: NotRequired[Nullable[Currency]] + r"""Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217).""" + budget_amount: NotRequired[Nullable[float]] + r"""Total budgeted amount for the project""" + approved_amount: NotRequired[Nullable[float]] + r"""Approved budget amount for the project""" + budget_hours: NotRequired[Nullable[float]] + r"""Total budgeted hours for the project""" + hourly_rate: NotRequired[Nullable[float]] + r"""Default hourly rate for project work""" + billing_method: NotRequired[Nullable[ProjectUpdateInputBillingMethod]] + r"""Method used for billing this project""" + is_billable: NotRequired[Nullable[bool]] + r"""Indicates if the project is billable to the customer""" + phase: NotRequired[Nullable[ProjectUpdateInputProjectPhase]] + r"""Current phase of the project lifecycle""" + tax_rate: NotRequired[LinkedTaxRateInputTypedDict] + tracking_categories: NotRequired[ + Nullable[List[Nullable[LinkedTrackingCategoryTypedDict]]] + ] + r"""A list of linked tracking categories.""" + tags: NotRequired[List[str]] + r"""Tags associated with the project""" + notes: NotRequired[Nullable[str]] + r"""Additional notes about the project""" + contract_number: NotRequired[Nullable[str]] + r"""Contract or agreement number associated with the project""" + profit_margin: NotRequired[Nullable[float]] + r"""Expected profit margin percentage for the project""" + schedule_status: NotRequired[Nullable[ProjectUpdateInputScheduleStatus]] + r"""Current status of project schedule compared to plan""" + addresses: NotRequired[List[AddressTypedDict]] + r"""An array of addresses associated with the project (billing, job site, etc.)""" + team_size: NotRequired[Nullable[int]] + r"""Number of team members assigned to the project""" + custom_fields: NotRequired[List[CustomFieldTypedDict]] + row_version: NotRequired[Nullable[str]] + r"""A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object.""" + + +class ProjectUpdateInput(BaseModel): + r"""The writable shape of Project for a single-record update. Identical to the model with the read-only properties removed and no required properties, because PATCH is partial and the API already validates it that way.""" + + name: Optional[str] = None + r"""Name of the project""" + + display_id: OptionalNullable[str] = UNSET + r"""User-friendly project identifier""" + + reference_id: OptionalNullable[str] = UNSET + r"""External reference identifier for the project""" + + description: OptionalNullable[str] = UNSET + r"""Detailed description of the project""" + + status: Annotated[ + OptionalNullable[ProjectUpdateInputProjectStatus], + PlainValidator(validate_open_enum(False)), + ] = UNSET + r"""Current status of the project""" + + active: OptionalNullable[bool] = UNSET + r"""Indicates whether the project is currently active or inactive""" + + project_type: Annotated[ + OptionalNullable[ProjectUpdateInputProjectType], + PlainValidator(validate_open_enum(False)), + ] = UNSET + r"""Type or category of the project""" + + priority: Annotated[ + OptionalNullable[ProjectUpdateInputPriority], + PlainValidator(validate_open_enum(False)), + ] = UNSET + r"""Priority level of the project""" + + completion_percentage: OptionalNullable[float] = UNSET + r"""Percentage of project completion (0-100)""" + + start_date: OptionalNullable[date] = UNSET + r"""Start date of the project""" + + end_date: OptionalNullable[date] = UNSET + r"""Expected or planned end date of the project""" + + completion_date: OptionalNullable[date] = UNSET + r"""Actual end date of the project""" + + customer: OptionalNullable[LinkedCustomerInput] = UNSET + r"""The customer this entity is linked to.""" + + department: OptionalNullable[ProjectUpdateInputDepartment] = UNSET + r"""Department or organizational unit associated with the project""" + + company_id: OptionalNullable[str] = UNSET + r"""The company ID the transaction belongs to""" + + owner_id: OptionalNullable[str] = UNSET + r"""ID of the user who owns/manages this project""" + + parent_project: OptionalNullable[ProjectUpdateInputParentProject] = UNSET + r"""Parent project if this is a subproject""" + + currency: Annotated[ + OptionalNullable[Currency], PlainValidator(validate_open_enum(False)) + ] = UNSET + r"""Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217).""" + + budget_amount: OptionalNullable[float] = UNSET + r"""Total budgeted amount for the project""" + + approved_amount: OptionalNullable[float] = UNSET + r"""Approved budget amount for the project""" + + budget_hours: OptionalNullable[float] = UNSET + r"""Total budgeted hours for the project""" + + hourly_rate: OptionalNullable[float] = UNSET + r"""Default hourly rate for project work""" + + billing_method: Annotated[ + OptionalNullable[ProjectUpdateInputBillingMethod], + PlainValidator(validate_open_enum(False)), + ] = UNSET + r"""Method used for billing this project""" + + is_billable: OptionalNullable[bool] = True + r"""Indicates if the project is billable to the customer""" + + phase: Annotated[ + OptionalNullable[ProjectUpdateInputProjectPhase], + PlainValidator(validate_open_enum(False)), + ] = UNSET + r"""Current phase of the project lifecycle""" + + tax_rate: Optional[LinkedTaxRateInput] = None + + tracking_categories: OptionalNullable[List[Nullable[LinkedTrackingCategory]]] = ( + UNSET + ) + r"""A list of linked tracking categories.""" + + tags: Optional[List[str]] = None + r"""Tags associated with the project""" + + notes: OptionalNullable[str] = UNSET + r"""Additional notes about the project""" + + contract_number: OptionalNullable[str] = UNSET + r"""Contract or agreement number associated with the project""" + + profit_margin: OptionalNullable[float] = UNSET + r"""Expected profit margin percentage for the project""" + + schedule_status: Annotated[ + OptionalNullable[ProjectUpdateInputScheduleStatus], + PlainValidator(validate_open_enum(False)), + ] = UNSET + r"""Current status of project schedule compared to plan""" + + addresses: Optional[List[Address]] = None + r"""An array of addresses associated with the project (billing, job site, etc.)""" + + team_size: OptionalNullable[int] = UNSET + r"""Number of team members assigned to the project""" + + custom_fields: Optional[List[CustomField]] = None + + row_version: OptionalNullable[str] = UNSET + r"""A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object.""" + + @field_serializer("status") + def serialize_status(self, value): + if isinstance(value, str): + try: + return models.ProjectUpdateInputProjectStatus(value) + except ValueError: + return value + return value + + @field_serializer("project_type") + def serialize_project_type(self, value): + if isinstance(value, str): + try: + return models.ProjectUpdateInputProjectType(value) + except ValueError: + return value + return value + + @field_serializer("priority") + def serialize_priority(self, value): + if isinstance(value, str): + try: + return models.ProjectUpdateInputPriority(value) + except ValueError: + return value + return value + + @field_serializer("currency") + def serialize_currency(self, value): + if isinstance(value, str): + try: + return models.Currency(value) + except ValueError: + return value + return value + + @field_serializer("billing_method") + def serialize_billing_method(self, value): + if isinstance(value, str): + try: + return models.ProjectUpdateInputBillingMethod(value) + except ValueError: + return value + return value + + @field_serializer("phase") + def serialize_phase(self, value): + if isinstance(value, str): + try: + return models.ProjectUpdateInputProjectPhase(value) + except ValueError: + return value + return value + + @field_serializer("schedule_status") + def serialize_schedule_status(self, value): + if isinstance(value, str): + try: + return models.ProjectUpdateInputScheduleStatus(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = [ + "name", + "display_id", + "reference_id", + "description", + "status", + "active", + "project_type", + "priority", + "completion_percentage", + "start_date", + "end_date", + "completion_date", + "customer", + "department", + "company_id", + "owner_id", + "parent_project", + "currency", + "budget_amount", + "approved_amount", + "budget_hours", + "hourly_rate", + "billing_method", + "is_billable", + "phase", + "tax_rate", + "tracking_categories", + "tags", + "notes", + "contract_number", + "profit_margin", + "schedule_status", + "addresses", + "team_size", + "custom_fields", + "row_version", + ] + nullable_fields = [ + "display_id", + "reference_id", + "description", + "status", + "active", + "project_type", + "priority", + "completion_percentage", + "start_date", + "end_date", + "completion_date", + "customer", + "department", + "company_id", + "owner_id", + "parent_project", + "currency", + "budget_amount", + "approved_amount", + "budget_hours", + "hourly_rate", + "billing_method", + "is_billable", + "phase", + "tracking_categories", + "notes", + "contract_number", + "profit_margin", + "schedule_status", + "team_size", + "row_version", + ] + null_default_fields = [] + + serialized = handler(self) + + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k) + serialized.pop(k, None) + + optional_nullable = k in optional_fields and k in nullable_fields + is_set = ( + self.__pydantic_fields_set__.intersection({n}) + or k in null_default_fields + ) # pylint: disable=no-member + + if val is not None and val != UNSET_SENTINEL: + m[k] = val + elif val != UNSET_SENTINEL and ( + not k in optional_fields or (optional_nullable and is_set) + ): + m[k] = val + + return m diff --git a/src/apideck_unify/models/refundupdateinput.py b/src/apideck_unify/models/refundupdateinput.py new file mode 100644 index 000000000..5635083f8 --- /dev/null +++ b/src/apideck_unify/models/refundupdateinput.py @@ -0,0 +1,318 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .address import Address, AddressTypedDict +from .allocation import AllocationInput, AllocationInputTypedDict +from .currency import Currency +from .customfield import CustomField, CustomFieldTypedDict +from .invoicelineitem import InvoiceLineItemInput, InvoiceLineItemInputTypedDict +from .linkedcustomer_input import LinkedCustomerInput, LinkedCustomerInputTypedDict +from .linkeddepartment_input import ( + LinkedDepartmentInput, + LinkedDepartmentInputTypedDict, +) +from .linkedledgeraccount import LinkedLedgerAccount, LinkedLedgerAccountTypedDict +from .linkedlocation_input import LinkedLocationInput, LinkedLocationInputTypedDict +from .linkedtrackingcategory import ( + LinkedTrackingCategory, + LinkedTrackingCategoryTypedDict, +) +from .passthroughbody import PassThroughBody, PassThroughBodyTypedDict +from .refundstatus import RefundStatus +from .refundtype import RefundType +from apideck_unify import models +from apideck_unify.types import ( + BaseModel, + Nullable, + OptionalNullable, + UNSET, + UNSET_SENTINEL, +) +from apideck_unify.utils import validate_open_enum +from datetime import datetime +from pydantic import field_serializer, model_serializer +from pydantic.functional_validators import PlainValidator +from typing import List, Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class RefundUpdateInputTypedDict(TypedDict): + r"""The writable shape of Refund for a single-record update. Identical to the model with the read-only properties removed and no required properties, because PATCH is partial and the API already validates it that way.""" + + number: NotRequired[Nullable[str]] + r"""Reference number for the refund.""" + customer: NotRequired[Nullable[LinkedCustomerInputTypedDict]] + r"""The customer this entity is linked to.""" + company_id: NotRequired[Nullable[str]] + r"""The company ID the transaction belongs to""" + currency: NotRequired[Nullable[Currency]] + r"""Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217).""" + currency_rate: NotRequired[Nullable[float]] + r"""Currency Exchange Rate at the time entity was recorded/generated.""" + tax_inclusive: NotRequired[Nullable[bool]] + r"""Amounts are including tax""" + sub_total: NotRequired[Nullable[float]] + r"""Subtotal amount, normally before tax.""" + total_amount: NotRequired[Nullable[float]] + r"""The total amount of the transaction or record""" + total_tax: NotRequired[Nullable[float]] + r"""Total tax amount applied to this transaction.""" + refund_date: NotRequired[Nullable[datetime]] + r"""The date of the refund - YYYY-MM-DDThh:mm:ss.sTZD""" + status: NotRequired[RefundStatus] + r"""Status of refund. Maps to: QBO (limited status), NetSuite CashRefund status, Sage Intacct state (draft/posted/voided), Zoho Books vis_state.""" + type: NotRequired[RefundType] + r"""Type of refund. `refund_receipt` for itemized refunds with product/service lines and payment (QBO RefundReceipt; also NetSuite's apply-list-based CustomerRefund). `cash_refund` for cash-out refunds with GL distribution or allocations (Sage Intacct). `credit_note_refund` for refunds applied against a credit note (Zoho Books). `sale_refund` for itemized refunds tied to a cash sale or return authorization, without an apply-list (NetSuite CashRefund) — NetSuite's apply-list-based CustomerRefund reports as `refund_receipt` instead.""" + payment_method: NotRequired[Nullable[str]] + r"""Payment method used for the transaction, such as cash, credit card, bank transfer, or check""" + payment_method_reference: NotRequired[Nullable[str]] + r"""Optional reference message returned by payment method on processing""" + payment_method_id: NotRequired[Nullable[str]] + r"""A unique identifier for an object.""" + account: NotRequired[Nullable[LinkedLedgerAccountTypedDict]] + line_items: NotRequired[List[InvoiceLineItemInputTypedDict]] + r"""Line items for itemized refunds (type: refund_receipt or sale_refund). Used when the refund includes product/service details with quantities and pricing. Supported by QBO RefundReceipt and NetSuite CashRefund.""" + allocations: NotRequired[List[AllocationInputTypedDict]] + r"""Allocations linking refund to existing documents (invoices, credit notes, overpayments). Used for credit_note_refund and cash_refund types where the refund is applied against prior transactions. Supported by Sage Intacct and Zoho Books.""" + tax_code: NotRequired[Nullable[str]] + r"""Applicable tax id/code override if tax is not supplied on a line item basis.""" + discount_percentage: NotRequired[Nullable[float]] + r"""Discount percentage applied to this refund.""" + discount_amount: NotRequired[Nullable[float]] + r"""Discount amount applied to this refund.""" + note: NotRequired[Nullable[str]] + r"""Optional note to be associated with the refund.""" + customer_memo: NotRequired[Nullable[str]] + r"""Customer memo""" + reference: NotRequired[Nullable[str]] + r"""Optional reference message for the refund.""" + billing_address: NotRequired[AddressTypedDict] + shipping_address: NotRequired[AddressTypedDict] + department: NotRequired[Nullable[LinkedDepartmentInputTypedDict]] + location: NotRequired[Nullable[LinkedLocationInputTypedDict]] + tracking_categories: NotRequired[ + Nullable[List[Nullable[LinkedTrackingCategoryTypedDict]]] + ] + r"""A list of linked tracking categories.""" + custom_fields: NotRequired[List[CustomFieldTypedDict]] + row_version: NotRequired[Nullable[str]] + r"""A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object.""" + pass_through: NotRequired[List[PassThroughBodyTypedDict]] + r"""The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources.""" + + +class RefundUpdateInput(BaseModel): + r"""The writable shape of Refund for a single-record update. Identical to the model with the read-only properties removed and no required properties, because PATCH is partial and the API already validates it that way.""" + + number: OptionalNullable[str] = UNSET + r"""Reference number for the refund.""" + + customer: OptionalNullable[LinkedCustomerInput] = UNSET + r"""The customer this entity is linked to.""" + + company_id: OptionalNullable[str] = UNSET + r"""The company ID the transaction belongs to""" + + currency: Annotated[ + OptionalNullable[Currency], PlainValidator(validate_open_enum(False)) + ] = UNSET + r"""Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217).""" + + currency_rate: OptionalNullable[float] = UNSET + r"""Currency Exchange Rate at the time entity was recorded/generated.""" + + tax_inclusive: OptionalNullable[bool] = UNSET + r"""Amounts are including tax""" + + sub_total: OptionalNullable[float] = UNSET + r"""Subtotal amount, normally before tax.""" + + total_amount: OptionalNullable[float] = UNSET + r"""The total amount of the transaction or record""" + + total_tax: OptionalNullable[float] = UNSET + r"""Total tax amount applied to this transaction.""" + + refund_date: OptionalNullable[datetime] = UNSET + r"""The date of the refund - YYYY-MM-DDThh:mm:ss.sTZD""" + + status: Annotated[ + Optional[RefundStatus], PlainValidator(validate_open_enum(False)) + ] = None + r"""Status of refund. Maps to: QBO (limited status), NetSuite CashRefund status, Sage Intacct state (draft/posted/voided), Zoho Books vis_state.""" + + type: Annotated[Optional[RefundType], PlainValidator(validate_open_enum(False))] = ( + None + ) + r"""Type of refund. `refund_receipt` for itemized refunds with product/service lines and payment (QBO RefundReceipt; also NetSuite's apply-list-based CustomerRefund). `cash_refund` for cash-out refunds with GL distribution or allocations (Sage Intacct). `credit_note_refund` for refunds applied against a credit note (Zoho Books). `sale_refund` for itemized refunds tied to a cash sale or return authorization, without an apply-list (NetSuite CashRefund) — NetSuite's apply-list-based CustomerRefund reports as `refund_receipt` instead.""" + + payment_method: OptionalNullable[str] = UNSET + r"""Payment method used for the transaction, such as cash, credit card, bank transfer, or check""" + + payment_method_reference: OptionalNullable[str] = UNSET + r"""Optional reference message returned by payment method on processing""" + + payment_method_id: OptionalNullable[str] = UNSET + r"""A unique identifier for an object.""" + + account: OptionalNullable[LinkedLedgerAccount] = UNSET + + line_items: Optional[List[InvoiceLineItemInput]] = None + r"""Line items for itemized refunds (type: refund_receipt or sale_refund). Used when the refund includes product/service details with quantities and pricing. Supported by QBO RefundReceipt and NetSuite CashRefund.""" + + allocations: Optional[List[AllocationInput]] = None + r"""Allocations linking refund to existing documents (invoices, credit notes, overpayments). Used for credit_note_refund and cash_refund types where the refund is applied against prior transactions. Supported by Sage Intacct and Zoho Books.""" + + tax_code: OptionalNullable[str] = UNSET + r"""Applicable tax id/code override if tax is not supplied on a line item basis.""" + + discount_percentage: OptionalNullable[float] = UNSET + r"""Discount percentage applied to this refund.""" + + discount_amount: OptionalNullable[float] = UNSET + r"""Discount amount applied to this refund.""" + + note: OptionalNullable[str] = UNSET + r"""Optional note to be associated with the refund.""" + + customer_memo: OptionalNullable[str] = UNSET + r"""Customer memo""" + + reference: OptionalNullable[str] = UNSET + r"""Optional reference message for the refund.""" + + billing_address: Optional[Address] = None + + shipping_address: Optional[Address] = None + + department: OptionalNullable[LinkedDepartmentInput] = UNSET + + location: OptionalNullable[LinkedLocationInput] = UNSET + + tracking_categories: OptionalNullable[List[Nullable[LinkedTrackingCategory]]] = ( + UNSET + ) + r"""A list of linked tracking categories.""" + + custom_fields: Optional[List[CustomField]] = None + + row_version: OptionalNullable[str] = UNSET + r"""A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object.""" + + pass_through: Optional[List[PassThroughBody]] = None + r"""The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources.""" + + @field_serializer("currency") + def serialize_currency(self, value): + if isinstance(value, str): + try: + return models.Currency(value) + except ValueError: + return value + return value + + @field_serializer("status") + def serialize_status(self, value): + if isinstance(value, str): + try: + return models.RefundStatus(value) + except ValueError: + return value + return value + + @field_serializer("type") + def serialize_type(self, value): + if isinstance(value, str): + try: + return models.RefundType(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = [ + "number", + "customer", + "company_id", + "currency", + "currency_rate", + "tax_inclusive", + "sub_total", + "total_amount", + "total_tax", + "refund_date", + "status", + "type", + "payment_method", + "payment_method_reference", + "payment_method_id", + "account", + "line_items", + "allocations", + "tax_code", + "discount_percentage", + "discount_amount", + "note", + "customer_memo", + "reference", + "billing_address", + "shipping_address", + "department", + "location", + "tracking_categories", + "custom_fields", + "row_version", + "pass_through", + ] + nullable_fields = [ + "number", + "customer", + "company_id", + "currency", + "currency_rate", + "tax_inclusive", + "sub_total", + "total_amount", + "total_tax", + "refund_date", + "payment_method", + "payment_method_reference", + "payment_method_id", + "account", + "tax_code", + "discount_percentage", + "discount_amount", + "note", + "customer_memo", + "reference", + "department", + "location", + "tracking_categories", + "row_version", + ] + null_default_fields = [] + + serialized = handler(self) + + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k) + serialized.pop(k, None) + + optional_nullable = k in optional_fields and k in nullable_fields + is_set = ( + self.__pydantic_fields_set__.intersection({n}) + or k in null_default_fields + ) # pylint: disable=no-member + + if val is not None and val != UNSET_SENTINEL: + m[k] = val + elif val != UNSET_SENTINEL and ( + not k in optional_fields or (optional_nullable and is_set) + ): + m[k] = val + + return m diff --git a/src/apideck_unify/models/salesreceiptupdateinput.py b/src/apideck_unify/models/salesreceiptupdateinput.py new file mode 100644 index 000000000..1f88243bb --- /dev/null +++ b/src/apideck_unify/models/salesreceiptupdateinput.py @@ -0,0 +1,262 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .address import Address, AddressTypedDict +from .currency import Currency +from .customfield import CustomField, CustomFieldTypedDict +from .invoicelineitem import InvoiceLineItemInput, InvoiceLineItemInputTypedDict +from .linkedcustomer_input import LinkedCustomerInput, LinkedCustomerInputTypedDict +from .linkeddepartment_input import ( + LinkedDepartmentInput, + LinkedDepartmentInputTypedDict, +) +from .linkedledgeraccount import LinkedLedgerAccount, LinkedLedgerAccountTypedDict +from .linkedtrackingcategory import ( + LinkedTrackingCategory, + LinkedTrackingCategoryTypedDict, +) +from .passthroughbody import PassThroughBody, PassThroughBodyTypedDict +from apideck_unify import models +from apideck_unify.types import ( + BaseModel, + Nullable, + OptionalNullable, + UNSET, + UNSET_SENTINEL, +) +from apideck_unify.utils import validate_open_enum +from datetime import datetime +from pydantic import field_serializer, model_serializer +from pydantic.functional_validators import PlainValidator +from typing import List, Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class SalesReceiptUpdateInputTypedDict(TypedDict): + r"""The writable shape of SalesReceipt for a single-record update. Identical to the model with the read-only properties removed and no required properties, because PATCH is partial and the API already validates it that way.""" + + number: NotRequired[Nullable[str]] + r"""Reference number for the sales receipt.""" + customer: NotRequired[Nullable[LinkedCustomerInputTypedDict]] + r"""The customer this entity is linked to.""" + currency: NotRequired[Nullable[Currency]] + r"""Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217).""" + currency_rate: NotRequired[Nullable[float]] + r"""Currency Exchange Rate at the time entity was recorded/generated.""" + tax_inclusive: NotRequired[Nullable[bool]] + r"""Amounts are including tax""" + sub_total: NotRequired[Nullable[float]] + r"""Subtotal amount, normally before tax.""" + total_amount: NotRequired[Nullable[float]] + r"""The total amount of the transaction or record""" + total_tax: NotRequired[Nullable[float]] + r"""Total tax amount applied to this transaction.""" + transaction_date: NotRequired[Nullable[datetime]] + r"""The date of the sales receipt transaction - YYYY-MM-DDThh:mm:ss.sTZD""" + payment_method: NotRequired[Nullable[str]] + r"""Payment method used for the transaction, such as cash, credit card, bank transfer, or check""" + payment_method_reference: NotRequired[Nullable[str]] + r"""Optional reference message returned by payment method on processing""" + payment_method_id: NotRequired[Nullable[str]] + r"""A unique identifier for an object.""" + account: NotRequired[Nullable[LinkedLedgerAccountTypedDict]] + line_items: NotRequired[List[InvoiceLineItemInputTypedDict]] + r"""Line items for itemized sales receipts. Used when the sales receipt includes product/service details with quantities and pricing.""" + tax_code: NotRequired[Nullable[str]] + r"""Applicable tax id/code override if tax is not supplied on a line item basis.""" + discount_percentage: NotRequired[Nullable[float]] + r"""Discount percentage applied to this sales receipt.""" + discount_amount: NotRequired[Nullable[float]] + r"""Discount amount applied to this sales receipt.""" + note: NotRequired[Nullable[str]] + r"""Optional note to be associated with the sales receipt.""" + customer_memo: NotRequired[Nullable[str]] + r"""Customer memo""" + reference: NotRequired[Nullable[str]] + r"""Optional reference message for the sales receipt.""" + billing_address: NotRequired[AddressTypedDict] + shipping_address: NotRequired[AddressTypedDict] + department: NotRequired[Nullable[LinkedDepartmentInputTypedDict]] + tracking_categories: NotRequired[ + Nullable[List[Nullable[LinkedTrackingCategoryTypedDict]]] + ] + r"""A list of linked tracking categories.""" + custom_fields: NotRequired[List[CustomFieldTypedDict]] + row_version: NotRequired[Nullable[str]] + r"""A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object.""" + pass_through: NotRequired[List[PassThroughBodyTypedDict]] + r"""The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources.""" + + +class SalesReceiptUpdateInput(BaseModel): + r"""The writable shape of SalesReceipt for a single-record update. Identical to the model with the read-only properties removed and no required properties, because PATCH is partial and the API already validates it that way.""" + + number: OptionalNullable[str] = UNSET + r"""Reference number for the sales receipt.""" + + customer: OptionalNullable[LinkedCustomerInput] = UNSET + r"""The customer this entity is linked to.""" + + currency: Annotated[ + OptionalNullable[Currency], PlainValidator(validate_open_enum(False)) + ] = UNSET + r"""Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217).""" + + currency_rate: OptionalNullable[float] = UNSET + r"""Currency Exchange Rate at the time entity was recorded/generated.""" + + tax_inclusive: OptionalNullable[bool] = UNSET + r"""Amounts are including tax""" + + sub_total: OptionalNullable[float] = UNSET + r"""Subtotal amount, normally before tax.""" + + total_amount: OptionalNullable[float] = UNSET + r"""The total amount of the transaction or record""" + + total_tax: OptionalNullable[float] = UNSET + r"""Total tax amount applied to this transaction.""" + + transaction_date: OptionalNullable[datetime] = UNSET + r"""The date of the sales receipt transaction - YYYY-MM-DDThh:mm:ss.sTZD""" + + payment_method: OptionalNullable[str] = UNSET + r"""Payment method used for the transaction, such as cash, credit card, bank transfer, or check""" + + payment_method_reference: OptionalNullable[str] = UNSET + r"""Optional reference message returned by payment method on processing""" + + payment_method_id: OptionalNullable[str] = UNSET + r"""A unique identifier for an object.""" + + account: OptionalNullable[LinkedLedgerAccount] = UNSET + + line_items: Optional[List[InvoiceLineItemInput]] = None + r"""Line items for itemized sales receipts. Used when the sales receipt includes product/service details with quantities and pricing.""" + + tax_code: OptionalNullable[str] = UNSET + r"""Applicable tax id/code override if tax is not supplied on a line item basis.""" + + discount_percentage: OptionalNullable[float] = UNSET + r"""Discount percentage applied to this sales receipt.""" + + discount_amount: OptionalNullable[float] = UNSET + r"""Discount amount applied to this sales receipt.""" + + note: OptionalNullable[str] = UNSET + r"""Optional note to be associated with the sales receipt.""" + + customer_memo: OptionalNullable[str] = UNSET + r"""Customer memo""" + + reference: OptionalNullable[str] = UNSET + r"""Optional reference message for the sales receipt.""" + + billing_address: Optional[Address] = None + + shipping_address: Optional[Address] = None + + department: OptionalNullable[LinkedDepartmentInput] = UNSET + + tracking_categories: OptionalNullable[List[Nullable[LinkedTrackingCategory]]] = ( + UNSET + ) + r"""A list of linked tracking categories.""" + + custom_fields: Optional[List[CustomField]] = None + + row_version: OptionalNullable[str] = UNSET + r"""A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object.""" + + pass_through: Optional[List[PassThroughBody]] = None + r"""The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources.""" + + @field_serializer("currency") + def serialize_currency(self, value): + if isinstance(value, str): + try: + return models.Currency(value) + except ValueError: + return value + return value + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = [ + "number", + "customer", + "currency", + "currency_rate", + "tax_inclusive", + "sub_total", + "total_amount", + "total_tax", + "transaction_date", + "payment_method", + "payment_method_reference", + "payment_method_id", + "account", + "line_items", + "tax_code", + "discount_percentage", + "discount_amount", + "note", + "customer_memo", + "reference", + "billing_address", + "shipping_address", + "department", + "tracking_categories", + "custom_fields", + "row_version", + "pass_through", + ] + nullable_fields = [ + "number", + "customer", + "currency", + "currency_rate", + "tax_inclusive", + "sub_total", + "total_amount", + "total_tax", + "transaction_date", + "payment_method", + "payment_method_reference", + "payment_method_id", + "account", + "tax_code", + "discount_percentage", + "discount_amount", + "note", + "customer_memo", + "reference", + "department", + "tracking_categories", + "row_version", + ] + null_default_fields = [] + + serialized = handler(self) + + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k) + serialized.pop(k, None) + + optional_nullable = k in optional_fields and k in nullable_fields + is_set = ( + self.__pydantic_fields_set__.intersection({n}) + or k in null_default_fields + ) # pylint: disable=no-member + + if val is not None and val != UNSET_SENTINEL: + m[k] = val + elif val != UNSET_SENTINEL and ( + not k in optional_fields or (optional_nullable and is_set) + ): + m[k] = val + + return m diff --git a/src/apideck_unify/payments.py b/src/apideck_unify/payments.py index ba8ae6117..991c442fa 100644 --- a/src/apideck_unify/payments.py +++ b/src/apideck_unify/payments.py @@ -1226,8 +1226,6 @@ def update( self, *, id: str, - total_amount: Nullable[float], - transaction_date: Nullable[datetime], consumer_id: Optional[str] = None, app_id: Optional[str] = None, service_id: Optional[str] = None, @@ -1235,6 +1233,7 @@ def update( raw: Optional[bool] = False, currency: OptionalNullable[models.Currency] = UNSET, currency_rate: OptionalNullable[float] = UNSET, + total_amount: OptionalNullable[float] = UNSET, reference: OptionalNullable[str] = UNSET, payment_method: OptionalNullable[str] = UNSET, payment_method_reference: OptionalNullable[str] = UNSET, @@ -1244,6 +1243,7 @@ def update( account: OptionalNullable[ Union[models.LinkedLedgerAccount, models.LinkedLedgerAccountTypedDict] ] = UNSET, + transaction_date: OptionalNullable[datetime] = UNSET, customer: OptionalNullable[ Union[models.LinkedCustomerInput, models.LinkedCustomerInputTypedDict] ] = UNSET, @@ -1289,8 +1289,6 @@ def update( Update Payment :param id: ID of the record you are acting upon. - :param total_amount: The total amount of the transaction or record - :param transaction_date: The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD :param consumer_id: ID of the consumer which you want to get or push data from :param app_id: The ID of your Unify application :param service_id: Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. @@ -1298,6 +1296,7 @@ def update( :param raw: Include raw response. Mostly used for debugging purposes :param currency: Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). :param currency_rate: Currency Exchange Rate at the time entity was recorded/generated. + :param total_amount: The total amount of the transaction or record :param reference: Optional transaction reference message ie: Debit remittance detail. :param payment_method: Payment method used for the transaction, such as cash, credit card, bank transfer, or check :param payment_method_reference: Optional reference message returned by payment method on processing @@ -1305,6 +1304,7 @@ def update( :param accounts_receivable_account_type: Type of accounts receivable account. :param accounts_receivable_account_id: Unique identifier for the account to allocate payment to. :param account: + :param transaction_date: The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD :param customer: The customer this entity is linked to. :param supplier: The supplier this entity is linked to. :param company_id: The company ID the transaction belongs to @@ -1342,7 +1342,7 @@ def update( service_id=service_id, company_id_param=company_id_param, raw=raw, - payment=models.PaymentInput( + payment_update_input=models.PaymentUpdateInput( currency=currency, currency_rate=currency_rate, total_amount=total_amount, @@ -1407,7 +1407,11 @@ def update( ), security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.payment, False, False, "json", models.PaymentInput + request.payment_update_input, + False, + False, + "json", + models.PaymentUpdateInput, ), timeout_ms=timeout_ms, ) @@ -1494,8 +1498,6 @@ async def update_async( self, *, id: str, - total_amount: Nullable[float], - transaction_date: Nullable[datetime], consumer_id: Optional[str] = None, app_id: Optional[str] = None, service_id: Optional[str] = None, @@ -1503,6 +1505,7 @@ async def update_async( raw: Optional[bool] = False, currency: OptionalNullable[models.Currency] = UNSET, currency_rate: OptionalNullable[float] = UNSET, + total_amount: OptionalNullable[float] = UNSET, reference: OptionalNullable[str] = UNSET, payment_method: OptionalNullable[str] = UNSET, payment_method_reference: OptionalNullable[str] = UNSET, @@ -1512,6 +1515,7 @@ async def update_async( account: OptionalNullable[ Union[models.LinkedLedgerAccount, models.LinkedLedgerAccountTypedDict] ] = UNSET, + transaction_date: OptionalNullable[datetime] = UNSET, customer: OptionalNullable[ Union[models.LinkedCustomerInput, models.LinkedCustomerInputTypedDict] ] = UNSET, @@ -1557,8 +1561,6 @@ async def update_async( Update Payment :param id: ID of the record you are acting upon. - :param total_amount: The total amount of the transaction or record - :param transaction_date: The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD :param consumer_id: ID of the consumer which you want to get or push data from :param app_id: The ID of your Unify application :param service_id: Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. @@ -1566,6 +1568,7 @@ async def update_async( :param raw: Include raw response. Mostly used for debugging purposes :param currency: Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). :param currency_rate: Currency Exchange Rate at the time entity was recorded/generated. + :param total_amount: The total amount of the transaction or record :param reference: Optional transaction reference message ie: Debit remittance detail. :param payment_method: Payment method used for the transaction, such as cash, credit card, bank transfer, or check :param payment_method_reference: Optional reference message returned by payment method on processing @@ -1573,6 +1576,7 @@ async def update_async( :param accounts_receivable_account_type: Type of accounts receivable account. :param accounts_receivable_account_id: Unique identifier for the account to allocate payment to. :param account: + :param transaction_date: The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD :param customer: The customer this entity is linked to. :param supplier: The supplier this entity is linked to. :param company_id: The company ID the transaction belongs to @@ -1610,7 +1614,7 @@ async def update_async( service_id=service_id, company_id_param=company_id_param, raw=raw, - payment=models.PaymentInput( + payment_update_input=models.PaymentUpdateInput( currency=currency, currency_rate=currency_rate, total_amount=total_amount, @@ -1675,7 +1679,11 @@ async def update_async( ), security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.payment, False, False, "json", models.PaymentInput + request.payment_update_input, + False, + False, + "json", + models.PaymentUpdateInput, ), timeout_ms=timeout_ms, ) diff --git a/src/apideck_unify/projects.py b/src/apideck_unify/projects.py index 9e5e873a3..f0eb7b685 100644 --- a/src/apideck_unify/projects.py +++ b/src/apideck_unify/projects.py @@ -1266,19 +1266,19 @@ def update( self, *, id: str, - name: str, consumer_id: Optional[str] = None, app_id: Optional[str] = None, service_id: Optional[str] = None, company_id_param: Optional[str] = None, raw: Optional[bool] = False, + name: Optional[str] = None, display_id: OptionalNullable[str] = UNSET, reference_id: OptionalNullable[str] = UNSET, description: OptionalNullable[str] = UNSET, - status: OptionalNullable[models.ProjectProjectStatus] = UNSET, + status: OptionalNullable[models.ProjectUpdateInputProjectStatus] = UNSET, active: OptionalNullable[bool] = UNSET, - project_type: OptionalNullable[models.ProjectType] = UNSET, - priority: OptionalNullable[models.Priority] = UNSET, + project_type: OptionalNullable[models.ProjectUpdateInputProjectType] = UNSET, + priority: OptionalNullable[models.ProjectUpdateInputPriority] = UNSET, completion_percentage: OptionalNullable[float] = UNSET, start_date: OptionalNullable[date] = UNSET, end_date: OptionalNullable[date] = UNSET, @@ -1287,21 +1287,29 @@ def update( Union[models.LinkedCustomerInput, models.LinkedCustomerInputTypedDict] ] = UNSET, department: OptionalNullable[ - Union[models.ProjectDepartment, models.ProjectDepartmentTypedDict] + Union[ + models.ProjectUpdateInputDepartment, + models.ProjectUpdateInputDepartmentTypedDict, + ] ] = UNSET, company_id: OptionalNullable[str] = UNSET, owner_id: OptionalNullable[str] = UNSET, parent_project: OptionalNullable[ - Union[models.ParentProject, models.ParentProjectTypedDict] + Union[ + models.ProjectUpdateInputParentProject, + models.ProjectUpdateInputParentProjectTypedDict, + ] ] = UNSET, currency: OptionalNullable[models.Currency] = UNSET, budget_amount: OptionalNullable[float] = UNSET, approved_amount: OptionalNullable[float] = UNSET, budget_hours: OptionalNullable[float] = UNSET, hourly_rate: OptionalNullable[float] = UNSET, - billing_method: OptionalNullable[models.BillingMethod] = UNSET, + billing_method: OptionalNullable[ + models.ProjectUpdateInputBillingMethod + ] = UNSET, is_billable: OptionalNullable[bool] = True, - phase: OptionalNullable[models.ProjectPhase] = UNSET, + phase: OptionalNullable[models.ProjectUpdateInputProjectPhase] = UNSET, tax_rate: Optional[ Union[models.LinkedTaxRateInput, models.LinkedTaxRateInputTypedDict] ] = None, @@ -1315,7 +1323,9 @@ def update( notes: OptionalNullable[str] = UNSET, contract_number: OptionalNullable[str] = UNSET, profit_margin: OptionalNullable[float] = UNSET, - schedule_status: OptionalNullable[models.ScheduleStatus] = UNSET, + schedule_status: OptionalNullable[ + models.ProjectUpdateInputScheduleStatus + ] = UNSET, addresses: Optional[ Union[List[models.Address], List[models.AddressTypedDict]] ] = None, @@ -1334,12 +1344,12 @@ def update( Update project :param id: ID of the record you are acting upon. - :param name: Name of the project :param consumer_id: ID of the consumer which you want to get or push data from :param app_id: The ID of your Unify application :param service_id: Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. :param company_id_param: The ID of the company to scope requests to. For connectors that support multi-company, this overrides the default company configured in connection settings. :param raw: Include raw response. Mostly used for debugging purposes + :param name: Name of the project :param display_id: User-friendly project identifier :param reference_id: External reference identifier for the project :param description: Detailed description of the project @@ -1397,7 +1407,7 @@ def update( service_id=service_id, company_id_param=company_id_param, raw=raw, - project=models.ProjectInput( + project_update_input=models.ProjectUpdateInput( name=name, display_id=display_id, reference_id=reference_id, @@ -1414,12 +1424,13 @@ def update( customer, OptionalNullable[models.LinkedCustomerInput] ), department=utils.get_pydantic_model( - department, OptionalNullable[models.ProjectDepartment] + department, OptionalNullable[models.ProjectUpdateInputDepartment] ), company_id=company_id, owner_id=owner_id, parent_project=utils.get_pydantic_model( - parent_project, OptionalNullable[models.ParentProject] + parent_project, + OptionalNullable[models.ProjectUpdateInputParentProject], ), currency=currency, budget_amount=budget_amount, @@ -1470,7 +1481,11 @@ def update( ), security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.project, False, False, "json", models.ProjectInput + request.project_update_input, + False, + False, + "json", + models.ProjectUpdateInput, ), timeout_ms=timeout_ms, ) @@ -1557,19 +1572,19 @@ async def update_async( self, *, id: str, - name: str, consumer_id: Optional[str] = None, app_id: Optional[str] = None, service_id: Optional[str] = None, company_id_param: Optional[str] = None, raw: Optional[bool] = False, + name: Optional[str] = None, display_id: OptionalNullable[str] = UNSET, reference_id: OptionalNullable[str] = UNSET, description: OptionalNullable[str] = UNSET, - status: OptionalNullable[models.ProjectProjectStatus] = UNSET, + status: OptionalNullable[models.ProjectUpdateInputProjectStatus] = UNSET, active: OptionalNullable[bool] = UNSET, - project_type: OptionalNullable[models.ProjectType] = UNSET, - priority: OptionalNullable[models.Priority] = UNSET, + project_type: OptionalNullable[models.ProjectUpdateInputProjectType] = UNSET, + priority: OptionalNullable[models.ProjectUpdateInputPriority] = UNSET, completion_percentage: OptionalNullable[float] = UNSET, start_date: OptionalNullable[date] = UNSET, end_date: OptionalNullable[date] = UNSET, @@ -1578,21 +1593,29 @@ async def update_async( Union[models.LinkedCustomerInput, models.LinkedCustomerInputTypedDict] ] = UNSET, department: OptionalNullable[ - Union[models.ProjectDepartment, models.ProjectDepartmentTypedDict] + Union[ + models.ProjectUpdateInputDepartment, + models.ProjectUpdateInputDepartmentTypedDict, + ] ] = UNSET, company_id: OptionalNullable[str] = UNSET, owner_id: OptionalNullable[str] = UNSET, parent_project: OptionalNullable[ - Union[models.ParentProject, models.ParentProjectTypedDict] + Union[ + models.ProjectUpdateInputParentProject, + models.ProjectUpdateInputParentProjectTypedDict, + ] ] = UNSET, currency: OptionalNullable[models.Currency] = UNSET, budget_amount: OptionalNullable[float] = UNSET, approved_amount: OptionalNullable[float] = UNSET, budget_hours: OptionalNullable[float] = UNSET, hourly_rate: OptionalNullable[float] = UNSET, - billing_method: OptionalNullable[models.BillingMethod] = UNSET, + billing_method: OptionalNullable[ + models.ProjectUpdateInputBillingMethod + ] = UNSET, is_billable: OptionalNullable[bool] = True, - phase: OptionalNullable[models.ProjectPhase] = UNSET, + phase: OptionalNullable[models.ProjectUpdateInputProjectPhase] = UNSET, tax_rate: Optional[ Union[models.LinkedTaxRateInput, models.LinkedTaxRateInputTypedDict] ] = None, @@ -1606,7 +1629,9 @@ async def update_async( notes: OptionalNullable[str] = UNSET, contract_number: OptionalNullable[str] = UNSET, profit_margin: OptionalNullable[float] = UNSET, - schedule_status: OptionalNullable[models.ScheduleStatus] = UNSET, + schedule_status: OptionalNullable[ + models.ProjectUpdateInputScheduleStatus + ] = UNSET, addresses: Optional[ Union[List[models.Address], List[models.AddressTypedDict]] ] = None, @@ -1625,12 +1650,12 @@ async def update_async( Update project :param id: ID of the record you are acting upon. - :param name: Name of the project :param consumer_id: ID of the consumer which you want to get or push data from :param app_id: The ID of your Unify application :param service_id: Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. :param company_id_param: The ID of the company to scope requests to. For connectors that support multi-company, this overrides the default company configured in connection settings. :param raw: Include raw response. Mostly used for debugging purposes + :param name: Name of the project :param display_id: User-friendly project identifier :param reference_id: External reference identifier for the project :param description: Detailed description of the project @@ -1688,7 +1713,7 @@ async def update_async( service_id=service_id, company_id_param=company_id_param, raw=raw, - project=models.ProjectInput( + project_update_input=models.ProjectUpdateInput( name=name, display_id=display_id, reference_id=reference_id, @@ -1705,12 +1730,13 @@ async def update_async( customer, OptionalNullable[models.LinkedCustomerInput] ), department=utils.get_pydantic_model( - department, OptionalNullable[models.ProjectDepartment] + department, OptionalNullable[models.ProjectUpdateInputDepartment] ), company_id=company_id, owner_id=owner_id, parent_project=utils.get_pydantic_model( - parent_project, OptionalNullable[models.ParentProject] + parent_project, + OptionalNullable[models.ProjectUpdateInputParentProject], ), currency=currency, budget_amount=budget_amount, @@ -1761,7 +1787,11 @@ async def update_async( ), security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.project, False, False, "json", models.ProjectInput + request.project_update_input, + False, + False, + "json", + models.ProjectUpdateInput, ), timeout_ms=timeout_ms, ) diff --git a/src/apideck_unify/refunds.py b/src/apideck_unify/refunds.py index 27eb02215..4a070f693 100644 --- a/src/apideck_unify/refunds.py +++ b/src/apideck_unify/refunds.py @@ -1266,7 +1266,6 @@ def update( self, *, id: str, - total_amount: Nullable[float], consumer_id: Optional[str] = None, app_id: Optional[str] = None, service_id: Optional[str] = None, @@ -1280,6 +1279,7 @@ def update( currency_rate: OptionalNullable[float] = UNSET, tax_inclusive: OptionalNullable[bool] = UNSET, sub_total: OptionalNullable[float] = UNSET, + total_amount: OptionalNullable[float] = UNSET, total_tax: OptionalNullable[float] = UNSET, refund_date: OptionalNullable[datetime] = UNSET, status: Optional[models.RefundStatus] = None, @@ -1340,7 +1340,6 @@ def update( Update Refund :param id: ID of the record you are acting upon. - :param total_amount: The total amount of the transaction or record :param consumer_id: ID of the consumer which you want to get or push data from :param app_id: The ID of your Unify application :param service_id: Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. @@ -1352,6 +1351,7 @@ def update( :param currency_rate: Currency Exchange Rate at the time entity was recorded/generated. :param tax_inclusive: Amounts are including tax :param sub_total: Subtotal amount, normally before tax. + :param total_amount: The total amount of the transaction or record :param total_tax: Total tax amount applied to this transaction. :param refund_date: The date of the refund - YYYY-MM-DDThh:mm:ss.sTZD :param status: Status of refund. Maps to: QBO (limited status), NetSuite CashRefund status, Sage Intacct state (draft/posted/voided), Zoho Books vis_state. @@ -1397,7 +1397,7 @@ def update( app_id=app_id, service_id=service_id, raw=raw, - refund=models.RefundInput( + refund_update_input=models.RefundUpdateInput( number=number, customer=utils.get_pydantic_model( customer, OptionalNullable[models.LinkedCustomerInput] @@ -1474,7 +1474,11 @@ def update( ), security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.refund, False, False, "json", models.RefundInput + request.refund_update_input, + False, + False, + "json", + models.RefundUpdateInput, ), timeout_ms=timeout_ms, ) @@ -1561,7 +1565,6 @@ async def update_async( self, *, id: str, - total_amount: Nullable[float], consumer_id: Optional[str] = None, app_id: Optional[str] = None, service_id: Optional[str] = None, @@ -1575,6 +1578,7 @@ async def update_async( currency_rate: OptionalNullable[float] = UNSET, tax_inclusive: OptionalNullable[bool] = UNSET, sub_total: OptionalNullable[float] = UNSET, + total_amount: OptionalNullable[float] = UNSET, total_tax: OptionalNullable[float] = UNSET, refund_date: OptionalNullable[datetime] = UNSET, status: Optional[models.RefundStatus] = None, @@ -1635,7 +1639,6 @@ async def update_async( Update Refund :param id: ID of the record you are acting upon. - :param total_amount: The total amount of the transaction or record :param consumer_id: ID of the consumer which you want to get or push data from :param app_id: The ID of your Unify application :param service_id: Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. @@ -1647,6 +1650,7 @@ async def update_async( :param currency_rate: Currency Exchange Rate at the time entity was recorded/generated. :param tax_inclusive: Amounts are including tax :param sub_total: Subtotal amount, normally before tax. + :param total_amount: The total amount of the transaction or record :param total_tax: Total tax amount applied to this transaction. :param refund_date: The date of the refund - YYYY-MM-DDThh:mm:ss.sTZD :param status: Status of refund. Maps to: QBO (limited status), NetSuite CashRefund status, Sage Intacct state (draft/posted/voided), Zoho Books vis_state. @@ -1692,7 +1696,7 @@ async def update_async( app_id=app_id, service_id=service_id, raw=raw, - refund=models.RefundInput( + refund_update_input=models.RefundUpdateInput( number=number, customer=utils.get_pydantic_model( customer, OptionalNullable[models.LinkedCustomerInput] @@ -1769,7 +1773,11 @@ async def update_async( ), security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.refund, False, False, "json", models.RefundInput + request.refund_update_input, + False, + False, + "json", + models.RefundUpdateInput, ), timeout_ms=timeout_ms, ) diff --git a/src/apideck_unify/salesreceipts.py b/src/apideck_unify/salesreceipts.py index 94b254fc7..31d3f74ef 100644 --- a/src/apideck_unify/salesreceipts.py +++ b/src/apideck_unify/salesreceipts.py @@ -1248,7 +1248,6 @@ def update( self, *, id: str, - total_amount: Nullable[float], consumer_id: Optional[str] = None, app_id: Optional[str] = None, service_id: Optional[str] = None, @@ -1262,6 +1261,7 @@ def update( currency_rate: OptionalNullable[float] = UNSET, tax_inclusive: OptionalNullable[bool] = UNSET, sub_total: OptionalNullable[float] = UNSET, + total_amount: OptionalNullable[float] = UNSET, total_tax: OptionalNullable[float] = UNSET, transaction_date: OptionalNullable[datetime] = UNSET, payment_method: OptionalNullable[str] = UNSET, @@ -1314,7 +1314,6 @@ def update( Update Sales Receipt :param id: ID of the record you are acting upon. - :param total_amount: The total amount of the transaction or record :param consumer_id: ID of the consumer which you want to get or push data from :param app_id: The ID of your Unify application :param service_id: Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. @@ -1326,6 +1325,7 @@ def update( :param currency_rate: Currency Exchange Rate at the time entity was recorded/generated. :param tax_inclusive: Amounts are including tax :param sub_total: Subtotal amount, normally before tax. + :param total_amount: The total amount of the transaction or record :param total_tax: Total tax amount applied to this transaction. :param transaction_date: The date of the sales receipt transaction - YYYY-MM-DDThh:mm:ss.sTZD :param payment_method: Payment method used for the transaction, such as cash, credit card, bank transfer, or check @@ -1368,7 +1368,7 @@ def update( service_id=service_id, raw=raw, company_id=company_id, - sales_receipt=models.SalesReceiptInput( + sales_receipt_update_input=models.SalesReceiptUpdateInput( number=number, customer=utils.get_pydantic_model( customer, OptionalNullable[models.LinkedCustomerInput] @@ -1436,7 +1436,11 @@ def update( ), security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.sales_receipt, False, False, "json", models.SalesReceiptInput + request.sales_receipt_update_input, + False, + False, + "json", + models.SalesReceiptUpdateInput, ), timeout_ms=timeout_ms, ) @@ -1523,7 +1527,6 @@ async def update_async( self, *, id: str, - total_amount: Nullable[float], consumer_id: Optional[str] = None, app_id: Optional[str] = None, service_id: Optional[str] = None, @@ -1537,6 +1540,7 @@ async def update_async( currency_rate: OptionalNullable[float] = UNSET, tax_inclusive: OptionalNullable[bool] = UNSET, sub_total: OptionalNullable[float] = UNSET, + total_amount: OptionalNullable[float] = UNSET, total_tax: OptionalNullable[float] = UNSET, transaction_date: OptionalNullable[datetime] = UNSET, payment_method: OptionalNullable[str] = UNSET, @@ -1589,7 +1593,6 @@ async def update_async( Update Sales Receipt :param id: ID of the record you are acting upon. - :param total_amount: The total amount of the transaction or record :param consumer_id: ID of the consumer which you want to get or push data from :param app_id: The ID of your Unify application :param service_id: Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. @@ -1601,6 +1604,7 @@ async def update_async( :param currency_rate: Currency Exchange Rate at the time entity was recorded/generated. :param tax_inclusive: Amounts are including tax :param sub_total: Subtotal amount, normally before tax. + :param total_amount: The total amount of the transaction or record :param total_tax: Total tax amount applied to this transaction. :param transaction_date: The date of the sales receipt transaction - YYYY-MM-DDThh:mm:ss.sTZD :param payment_method: Payment method used for the transaction, such as cash, credit card, bank transfer, or check @@ -1643,7 +1647,7 @@ async def update_async( service_id=service_id, raw=raw, company_id=company_id, - sales_receipt=models.SalesReceiptInput( + sales_receipt_update_input=models.SalesReceiptUpdateInput( number=number, customer=utils.get_pydantic_model( customer, OptionalNullable[models.LinkedCustomerInput] @@ -1711,7 +1715,11 @@ async def update_async( ), security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.sales_receipt, False, False, "json", models.SalesReceiptInput + request.sales_receipt_update_input, + False, + False, + "json", + models.SalesReceiptUpdateInput, ), timeout_ms=timeout_ms, ) From 7687b85ecc9ae84ab598e6b62d5a8f301bec056e Mon Sep 17 00:00:00 2001 From: "speakeasy-github[bot]" <128539517+speakeasy-github[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2026 16:14:55 +0000 Subject: [PATCH 2/2] empty commit to trigger [run-tests] workflow