From e7e0afa269c7f05c1e0c72c8fc4d60172b75cc8b Mon Sep 17 00:00:00 2001 From: svc-developer Date: Thu, 27 Jun 2024 16:34:02 +0000 Subject: [PATCH] 24.6.3 --- src/Constants.php | 1679 +++++++++++++++++++++++---------------------- src/Methods.php | 18 +- src/Models.php | 395 ++++++++++- 3 files changed, 1229 insertions(+), 863 deletions(-) diff --git a/src/Constants.php b/src/Constants.php index 07ce2e6..7a9b8a2 100644 --- a/src/Constants.php +++ b/src/Constants.php @@ -2,7 +2,7 @@ namespace Avalara; use GuzzleHttp\Client; -define('AVATAX_SDK_VERSION', '24.6.1'); +define('AVATAX_SDK_VERSION', '24.6.3'); /***************************************************************************** * * @@ -575,1310 +575,1323 @@ class BulkImportStatus /** * Swagger Name: AvaTaxClient - * Indicates what level of auditing information is available for a transaction + * Represents a error code message */ -class ApiCallStatus +class ErrorCodeId { /** - * If the original api call is availabe on S3 + * Server has a configuration or setup problem */ - const C_ORIGINALAPICALLAVAILABLE = 0; + const C_SERVERCONFIGURATION = 1; /** - * if the original api call is not available, reconstructed api call should always be available + * User doesn't have rights to this account or company */ - const C_RECONSTRUCTEDAPICALLAVAILABLE = 1; + const C_ACCOUNTINVALIDEXCEPTION = 2; + const C_COMPANYINVALIDEXCEPTION = 3; /** - * Any other api call status - */ - const C_ANY = -1; - -} - -/** - * Swagger Name: AvaTaxClient - * A list of possible AvaFile Form Types. - */ -class FormTypeId -{ - /** - * Denotes the form type is Sales and Use Tax + * Use this error message when the user is trying to fetch a single object and the object either does not exist or cannot be seen by the current user. */ - const C_SALESANDUSE = 0; + const C_ENTITYNOTFOUNDERROR = 4; + const C_VALUEREQUIREDERROR = 5; + const C_RANGEERROR = 6; + const C_RANGECOMPAREERROR = 7; + const C_RANGESETERROR = 8; + const C_TAXPAYERNUMBERREQUIRED = 9; + const C_ENTITYLIMITEXCEEDED = 10; + const C_COMMONPASSWORD = 11; + const C_WEAKPASSWORD = 12; + const C_STRINGLENGTHERROR = 13; + const C_MAXSTRINGLENGTHERROR = 14; + const C_EMAILVALIDATIONERROR = 15; + const C_EMAILMISSINGERROR = 16; + const C_INVALIDQUERYFIELD = 17; + const C_INVALIDQUERYVALUE = 18; + const C_SYNTAXERROR = 19; + const C_TOOMANYPARAMETERSERROR = 20; + const C_UNTERMINATEDVALUEERROR = 21; + const C_DELETEUSERSELFERROR = 22; + const C_OLDPASSWORDINVALID = 23; + const C_CANNOTCHANGEPASSWORD = 24; + const C_READONLY = 25; + const C_DATEFORMATERROR = 26; + const C_NODEFAULTCOMPANY = 27; + const C_ACCOUNTTYPENOTSUPPORTED = 28; + const C_INVALIDAUTHENTICATIONTYPE = 29; + const C_AUTHENTICATIONEXCEPTION = 30; + const C_AUTHORIZATIONEXCEPTION = 31; + const C_VALIDATIONEXCEPTION = 32; + const C_INACTIVEUSERERROR = 33; + const C_AUTHENTICATIONINCOMPLETE = 34; + const C_BASICAUTHINCORRECT = 35; + const C_IDENTITYSERVERERROR = 36; + const C_BEARERTOKENINVALID = 37; + const C_MODELREQUIREDEXCEPTION = 38; + const C_ACCOUNTEXPIREDEXCEPTION = 39; + const C_BEARERTOKENNOTSUPPORTED = 41; + const C_INVALIDSECURITYROLE = 42; + const C_INVALIDREGISTRARACTION = 43; + const C_REMOTESERVERERROR = 44; + const C_NOFILTERCRITERIAEXCEPTION = 45; + const C_OPENCLAUSEEXCEPTION = 46; + const C_JSONFORMATERROR = 47; + const C_INVALIDDECIMALVALUE = 48; + const C_PERMISSIONREQUIRED = 49; + const C_UNHANDLEDEXCEPTION = 50; + const C_INACTIVEACCOUNT = 51; + const C_LINKAGENOTALLOWED = 52; + const C_LINKAGESTATUSUPDATENOTSUPPORTED = 53; + const C_REPORTINGCOMPANYMUSTHAVECONTACTSERROR = 60; + const C_COMPANYPROFILENOTSET = 61; + const C_CANNOTASSIGNUSERTOCOMPANY = 62; + const C_MUSTASSIGNUSERTOCOMPANY = 63; + const C_INVALIDTAXTYPEMAPPING = 64; + const C_MODELSTATEINVALID = 70; + const C_DATERANGEERROR = 80; + const C_INVALIDDATERANGEERROR = 81; + const C_RULEMUSTHAVETAXCODE = 82; + const C_RULETYPERESTRICTED = 83; + const C_ALLJURISRULELIMITS = 84; + const C_INVALIDCOMPANYLOCATIONSETTING = 85; + const C_INVALIDADJUSTMENTTYPE = 99; + const C_DELETEINFORMATION = 100; + const C_DISABLEAUTHENTICATIONFORSAMLBASEDACCOUNTS = 101; + const C_DISABLERESETPASSWORDFORSAMLBASEDACCOUNTS = 102; + const C_OUTOFRANGE = 118; + const C_UNSPECIFIEDTIMEZONE = 119; + const C_CANNOTCREATEDELETEDOBJECTS = 120; + const C_CANNOTMODIFYDELETEDOBJECTS = 121; + const C_RETURNNAMENOTFOUND = 122; + const C_INVALIDADDRESSTYPEANDCATEGORY = 123; + const C_DEFAULTCOMPANYLOCATION = 124; + const C_INVALIDCOUNTRY = 125; + const C_INVALIDCOUNTRYREGION = 126; + const C_BRAZILVALIDATIONERROR = 127; + const C_BRAZILEXEMPTVALIDATIONERROR = 128; + const C_BRAZILPISCOFINSERROR = 129; + const C_JURISDICTIONNOTFOUNDERROR = 130; + const C_MEDICALEXCISEERROR = 131; + const C_RATEDEPENDSTAXABILITYERROR = 132; + const C_INVALIDRATETYPECODE = 134; + const C_RATETYPENOTSUPPORTED = 135; + const C_CANNOTUPDATENESTEDOBJECTS = 136; + const C_UPCCODEINVALIDCHARS = 137; + const C_UPCCODEINVALIDLENGTH = 138; + const C_INCORRECTPATHERROR = 139; + const C_INVALIDJURISDICTIONTYPE = 140; + const C_MUSTCONFIRMRESETLICENSEKEY = 141; + const C_DUPLICATECOMPANYCODE = 142; + const C_TINFORMATERROR = 143; + const C_DUPLICATENEXUSERROR = 144; + const C_UNKNOWNNEXUSERROR = 145; + const C_PARENTNEXUSNOTFOUND = 146; + const C_INVALIDTAXCODETYPE = 147; + const C_CANNOTACTIVATECOMPANY = 148; + const C_DUPLICATEENTITYPROPERTY = 149; + const C_REPORTINGENTITYERROR = 150; + const C_INVALIDRETURNOPERATIONERROR = 151; + const C_CANNOTDELETECOMPANY = 152; + const C_COUNTRYOVERRIDESNOTAVAILABLE = 153; + const C_JURISDICTIONOVERRIDEMISMATCH = 154; + const C_DUPLICATESYSTEMTAXCODE = 155; + const C_SSTOVERRIDESNOTAVAILABLE = 156; + const C_NEXUSDATEMISMATCH = 157; + const C_NEXUSPARENTDATEMISMATCH = 159; + const C_BEARERTOKENPARSEUSERIDERROR = 160; + const C_RETRIEVEUSERERROR = 161; + const C_INVALIDCONFIGURATIONSETTING = 162; + const C_INVALIDCONFIGURATIONVALUE = 163; + const C_INVALIDENUMVALUE = 164; + const C_TAXCODEASSOCIATEDTAXRULE = 165; + const C_CANNOTSWITCHACCOUNTID = 166; + const C_REQUESTINCOMPLETE = 167; + const C_ACCOUNTNOTNEW = 168; + const C_PASSWORDLENGTHINVALID = 169; + const C_INVALIDPAGEKEY = 170; + const C_INVALIDECMSOVERRIDECODE = 171; + const C_ACCOUNTDOESNOTEXIST = 172; + const C_INVALIDTAXTYPE = 173; + const C_INCORRECTFIELDVALUE = 174; + const C_LEADINGORTRAILINGEXCEPTION = 175; + const C_NOTENOUGHADDRESSESINFO = 176; + const C_REPORTNOTINITIATED = 177; + const C_FAILEDTOBUILDREPORT = 178; + const C_REPORTNOTFINISHED = 179; + const C_FAILEDTODOWNLOADREPORT = 181; + const C_MALFORMEDFILTEREXCEPTION = 182; + const C_EXPECTEDCONJUNCTIONERROR = 183; + const C_CRITERIANOTSUPPORTEDERROR = 184; + const C_COMPANYACCOUNTANDPARENTACCOUNTMISMATCH = 185; + const C_INVALIDFILECONTENTTYPE = 186; + const C_REQUESTTOOLARGE = 187; + const C_ECMSDISABLED = 188; + const C_UNKNOWNCONJUNCTIONERROR = 189; + const C_NOLINESDISCOUNTED = 190; + const C_FAILEDTODELETE = 191; + const C_CIRCULARCOMPANYHIERARCHIES = 192; + const C_DUPLICATEENTRY = 193; + const C_DUPLICATEFIELDNAMEINORDERBY = 194; + const C_CANNOTADJUSTDOCUMENTTYPE = 195; + const C_USERNOACCESS = 196; + const C_INVALIDENTRY = 197; + const C_TRANSACTIONALREADYCANCELLED = 198; + const C_QUERYPARAMETEROUTOFRANGE = 199; /** - * Denotes the form type is Sales Tax only + * Batch errors + * New batch error codes continue at 2501 */ - const C_SALES = 1; + const C_BATCHSALESAUDITMUSTBEZIPPEDERROR = 200; + const C_BATCHZIPMUSTCONTAINONEFILEERROR = 201; + const C_BATCHINVALIDFILETYPEERROR = 202; + const C_BATCHCANNOTSAVEBATCHFILE = 203; + const C_BATCHCANNOTGETBATCHFILE = 204; + const C_BATCHCANNOTDELETEBATCHFILE = 205; + const C_BATCHMUSTCONTAINONEFILE = 206; + const C_MISSINGBATCHFILECONTENT = 207; + const C_BATCHCANNOTBEDELETEDWHILEPROCESSING = 208; /** - * Denotes the form type is Sellers Use Tax only + * BizTech error */ - const C_SELLERSUSE = 2; + const C_INTERNALSERVERERROR = 209; /** - * Denotes the form type is Lodging Tax only + * Point Of Sale API exceptions */ - const C_LODGING = 3; + const C_POINTOFSALEFILESIZE = 250; + const C_POINTOFSALESETUP = 251; + const C_INVALIDINPUTDATE = 252; /** - * Denotes the form type is Sales and Lodging Tax + * Errors in Soap V1 Passthrough / GetTax calls */ - const C_SALESANDLODGING = 4; + const C_GETTAXERROR = 300; + const C_ADDRESSCONFLICTEXCEPTION = 301; + const C_DOCUMENTCODECONFLICT = 303; + const C_MISSINGADDRESS = 304; + const C_INVALIDPARAMETERVALUE = 306; + const C_FETCHLIMIT = 308; + const C_INVALIDADDRESS = 309; + const C_ADDRESSLOCATIONNOTFOUND = 310; + const C_MISSINGLINE = 311; + const C_INVALIDADDRESSTEXTCASE = 312; + const C_DOCUMENTNOTCOMMITTED = 313; + const C_LINEFETCHLIMITEXCEEDED = 314; + const C_INVALIDDOCUMENTTYPESTOFETCH = 315; + const C_TIMEOUTREQUESTED = 316; + const C_INVALIDPOSTALCODE = 317; /** - * Denotes the form type is Consumer Use Tax only + * Subscription error codes */ - const C_CONSUMERUSE = 5; + const C_INVALIDSUBSCRIPTIONDESCRIPTION = 318; + const C_INVALIDSUBSCRIPTIONTYPEID = 319; /** - * Denotes the form type is Resort and Rental Tax + * Represents a malformed document fetch command */ - const C_RESORTANDRENTAL = 6; + const C_CANNOTCHANGEFILINGSTATUS = 401; /** - * Denotes the form type is Tourist and Rental Tax + * Represents a FEIN in incorrect format. */ - const C_TOURISTANDRENTAL = 7; + const C_FEINFORMATERROR = 402; /** - * Denotes the form type is Prepayment + * Represents a SQL server timeout error / deadlock error */ - const C_PREPAYMENT = 8; + const C_SERVERUNREACHABLE = 500; /** - * Denotes the form type is Prepayment Allowance - */ - const C_PREPAYMENTALLOWED = 9; - -} - -/** - * Swagger Name: AvaTaxClient - * A list of possible AvaFile filing option types. - */ -class FilingOptionTypeId -{ - /** - * Denotes the tax return is being filed on paper. + * Partner API error codes */ - const C_PAPER = 0; + const C_SUBSCRIPTIONREQUIRED = 600; + const C_ACCOUNTEXISTS = 601; + const C_INVITATIONONLY = 602; + const C_ACCOUNTNOTWHITELISTED = 603; + const C_FREETRIALNOTAVAILABLE = 606; + const C_ACCOUNTEXISTSDIFFERENTEMAIL = 607; + const C_AVALARAIDENTITYAPIERROR = 608; + const C_INVALIDIPADDRESS = 609; + const C_OFFERCODEALREADYAPPLIED = 610; + const C_ACCOUNTALREADYEXISTS = 611; + const C_LICENSEKEYNAMEALREADYEXISTSFORACCOUNT = 612; + const C_USERALREADYEXIST = 613; + const C_USERNOTFOUND = 614; + const C_USERMANAGEMENTEXCEPTION = 615; /** - * Denotes the form can be efiled optionally. + * Refund API error codes */ - const C_OPTIONALEFILE = 1; + const C_REFUNDTYPEANDPERCENTAGEMISMATCH = 701; + const C_INVALIDDOCUMENTTYPEFORREFUND = 702; + const C_REFUNDTYPEANDLINEMISMATCH = 703; + const C_REFUNDLINESREQUIRED = 704; + const C_INVALIDREFUNDTYPE = 705; + const C_REFUNDPERCENTAGEFORTAXONLY = 706; + const C_LINENOOUTOFRANGE = 707; + const C_REFUNDPERCENTAGEOUTOFRANGE = 708; + const C_REFUNDPERCENTAGEMISSING = 709; /** - * Denotes the form is being filed via efile. - */ - const C_MANDATORYEFILE = 2; - -} - -/** - * Swagger Name: AvaTaxClient - * A list of possible Due Date Types - */ -class DueDateTypeId -{ - /** - * Denotes form is due on the due day + * Free API error codes */ - const C_BYDAY = 0; + const C_MUSTUSECREATETRANSACTION = 800; + const C_MUSTACCEPTTERMSANDCONDITIONS = 801; /** - * Denotes form is due by last day of the month + * Filing Calendar Error Codes */ - const C_BYLASTDAY = 1; + const C_FILINGCALENDARCANNOTBEDELETED = 900; + const C_INVALIDEFFECTIVEDATE = 901; + const C_NONOUTLETFORM = 902; + const C_OVERLAPPINGFILINGCALENDAR = 903; + const C_FILINGCALENDARCANNOTBEEDITED = 904; /** - * Denotes form is due by second to last day of the month - */ - const C_BYSECONDLASTDAY = 2; - -} - -/** - * Swagger Name: AvaTaxClient - * Indicates the rounding behavior of a form - */ -class RoundingTypeId -{ - /** - * There is no rounding on the return + * Create or update transaction error codes */ - const C_NONE = 0; + const C_CANNOTMODIFYLOCKEDTRANSACTION = 1100; + const C_LINEALREADYEXISTS = 1101; + const C_LINEDOESNOTEXIST = 1102; + const C_LINESNOTSPECIFIED = 1103; + const C_LINEDETAILSDOESNOTEXIST = 1104; + const C_CANNOTCREATETRANSACTIONWITHDELETEDDATASOURCE = 1105; + const C_SHIPTOREGIONREQUIREDWITHDATASOURCE = 1106; /** - * Round to the nearest whole number + * Exempt cert error codes */ - const C_NEAREST = 1; + const C_INVALIDBUSINESSTYPE = 1200; + const C_CANNOTMODIFYEXEMPTCERT = 1201; + const C_CERTIFICATESERROR = 1203; + const C_MISSINGREQUIREDFIELDS = 1204; + const C_CERTIFICATESNOTSETUP = 1205; + const C_CONFLICTINGEXPOSUREZONE = 1208; + const C_MISSINGFIELDTOCREATEEXPOSUREZONE = 1209; + const C_MISSINGEXEMPTREASON = 1210; + const C_INVALIDEXEMPTREASON = 1211; + const C_INVALIDEXEMPTIONOPERATION = 1212; + const C_CONFLICTINGFIELDS = 1213; + const C_INVALIDPDFORIMAGEFILE = 1214; + const C_INVALIDCOVERLETTERTITLE = 1215; + const C_ACCOUNTNOTPROVISIONED = 1216; + const C_INVALIDREQUESTCONTENTTYPE = 1217; + const C_EXEMPTIONPAGINATIONLIMITS = 1218; + const C_EXEMPTIONSORTLIMITS = 1219; + const C_CUSTOMERCANTBEBOTHSHIPTOANDBILLTO = 1220; + const C_BILLTOCUSTOMEREXPECTED = 1221; + const C_SHIPTOCUSTOMEREXPECTED = 1222; + const C_ECMSSSTCERTSREQUIRED = 1223; /** - * Always round up + * Multi document error codes */ - const C_UP = 2; + const C_TRANSACTIONNOTCANCELLED = 1300; + const C_TOOMANYTRANSACTIONS = 1301; + const C_ONLYTAXDATEOVERRIDEISALLOWED = 1302; + const C_TRANSACTIONALREADYEXISTS = 1303; + const C_MULTIDOCUMENTTRANSACTIONALREADYEXISTS = 1304; + const C_DATEMISMATCH = 1305; + const C_INVALIDDOCUMENTSTATUSFORVERIFY = 1306; + const C_TOTALAMOUNTMISMATCH = 1307; + const C_TOTALTAXMISMATCH = 1308; + const C_INVALIDDOCUMENTTYPE = 1310; + const C_MULTIDOCUMENTPARTIALLYLOCKED = 1312; + const C_TRANSACTIONISCOMMITTED = 1313; + const C_INVALIDDOCUMENTSTATUS = 1314; /** - * Always round down + * Communications Tax error codes */ - const C_DOWN = 3; - -} - -/** - * Swagger Name: AvaTaxClient - * Indicates the behavior of a tax form for a company with multiple places of business. - * - * Some tax authorities require that a separate form must be filed for each place of business. - */ -class OutletTypeId -{ + const C_COMMSCONFIGCLIENTIDMISSING = 1400; + const C_COMMSCONFIGCLIENTIDBADVALUE = 1401; + /** - * File a single return per cycle for your entire business. + * Account Activate error codes */ - const C_NONE = 0; + const C_ACCOUNTINNEWSTATUSEXCEPTION = 1404; /** - * You may file separate forms for each outlet; contact the tax authority for more details about location based reporting requirements. + * Worksheet Exception */ - const C_SCHEDULE = 1; + const C_WORKSHEETEXCEPTION = 1405; + const C_INVALIDACCOUNTOVERRIDE = 1406; + const C_ACCOUNTOVERRIDENOTAUTHORIZED = 1407; + const C_FIELDNOTQUERYABLEERROR = 1408; + const C_USERNAMEREQUIRED = 1409; + const C_INVALIDAUDITMESSAGE = 1410; + const C_FIELDNOTORDERABLEERROR = 1411; /** - * You may file separate forms for each outlet; contact the tax authority for more details about location based reporting requirements. + * Nexus validation error codes */ - const C_DUPLICATE = 2; + const C_CANNOTDELETEPARENTBEFORECHILDNEXUS = 1500; + const C_NEXUSCHILDDATEMISMATCH = 1501; /** - * File a single return, but you must have a line item for each place of business. + * Remote validation Error */ - const C_CONSOLIDATED = 3; - -} - -/** - * Swagger Name: AvaTaxClient - * The type of data contained in this batch - */ -class BatchType -{ const C_AVACERTUPDATE = 0; - const C_AVACERTUPDATEALL = 1; - const C_BATCHMAINTENANCE = 2; - const C_COMPANYLOCATIONIMPORT = 3; - const C_DOCUMENTIMPORT = 4; - const C_EXEMPTCERTIMPORT = 5; - const C_ITEMIMPORT = 6; - const C_SALESAUDITEXPORT = 7; - const C_SSTPTESTDECKIMPORT = 8; - const C_TAXRULEIMPORT = 9; + const C_REMOTEVALIDATIONERROR = 1502; + const C_CANNOTMODIFYSSTNEXUS = 1503; + const C_INVALIDLOCALNEXUSTYPEID = 1504; /** - * This batch type represents tax transaction data being uploaded to AvaTax. Each line in the batch represents a single transaction - * or a line in a multi-line transaction. For reference, see [Batched Transactions in REST v2](http://developer.avalara.com/blog/2016/10/24/batch-transaction-upload-in-rest-v2) - */ - const C_TRANSACTIONIMPORT = 10; - const C_UPCBULKIMPORT = 11; - const C_UPCVALIDATIONIMPORT = 12; - const C_CUSTOMERSUPPLIERIMPORT = 13; - const C_VARIANCEIMPORT = 14; - const C_COSTCENTERIMPORT = 15; - const C_GLACCOUNTIMPORT = 16; - -} - -/** - * Swagger Name: AvaTaxClient - * The status of a batch file - */ -class BatchStatus -{ - /** - * Batch file has been received and is in the queue to be processed. + * Advanced rule errors */ - const C_WAITING = 0; + const C_ADVANCEDRULEREQUESTRULEERROR = 1602; + const C_ADVANCEDRULERESPONSERULEERROR = 1603; + const C_ADVANCEDRULEERROR = 1605; /** - * Batch file experienced system errors and cannot be processed. + * Miscellaneous */ - const C_SYSTEMERRORS = 1; + const C_TAXRULEREQUIRESNEXUS = 1701; + const C_UPCCODENOTUNIQUE = 1702; + const C_TAXCODEASSOCIATEDWITHITEMCODENOTFOUND = 1704; + const C_DUPLICATESYSTEMFORITEM = 1705; + const C_CANNOTDISMISSGLOBALNOTIFICATION = 1706; + const C_CANNOTUPDATEACCOUNTTYPEID = 1713; + const C_TAXPAYERNUMBERISREQUIRED = 1714; + const C_REQUESTLIMITEXCEEDED = 1715; + const C_CONCURRENTREQUESTLIMITEXCEEDED = 1716; + const C_INVALIDDOCUMENTTYPEFORINSPECT = 1717; + const C_SERVICENOTREADY = 1718; + const C_UPDATELOCATIONREMITTANCEMISMATCHTYPEANDCATEGORY = 1719; + const C_UPDATELOCATIONREMITTANCECHECKEXISTINGEFFECTIVEDATEERROR = 1720; + const C_UPDATELOCATIONREMITTANCECHECKEXISTINGENDDATEERROR = 1721; + const C_ERRORCOUNTLIMITEXCEEDEDERROR = 1722; + const C_RATELIMITEXCEEDEDERROR = 1723; + const C_TAXCODEANDTAXCODEIDMISSING = 1724; + const C_NEXUSALREADYEXISTS = 1725; + const C_INVALIDADDRESSTYPEANDMARKETPLACEOUSIDEUSAFLAG = 1726; + const C_INVALIDSETTINGSET = 1727; + const C_INVALIDSETTINGNAME = 1728; + const C_INVALIDSETTINGVALUE = 1729; + const C_TOOMANYUSERDEFINEDFIELDS = 1730; + const C_DUPLICATEUSERDEFINEDFIELDSFOUND = 1731; + const C_INVALIDNAMEFORUSERDEFINEDFIELD = 1732; + const C_INVALIDRESTRICTIONTYPE = 1733; + const C_INVALIDPARAMETER = 1734; + const C_INVALIDSYSTEMCODE = 1735; + const C_NOITEMSFORCLASSIFICATION = 1736; + const C_INVALIDFILENAME = 1737; + const C_NOCLASSIFICATIONFORSAMEHSCODE = 1738; + const C_INVALIDVALUEERROR = 1739; + const C_ITEMDUALWRITEPARAMETERVALUEMISMATCHERROR = 1740; + const C_DUPLICATEITEMIDSINTAXCODECLASSIFICATIONREQUEST = 1741; + const C_TOOMANYITEMIDSINTAXCODECLASSIFICATIONREQUEST = 1742; /** - * Batch file is cancelled + * SendSales API errors */ - const C_CANCELLED = 2; + const C_UNSUPPORTEDFILEFORMAT = 1800; + const C_UNSUPPORTEDOUTPUTFILETYPE = 1801; /** - * Batch file has been completely processed. + * TaxProfile API errors */ - const C_COMPLETED = 3; + const C_TAXPROFILENOTPROVIDED = 1900; + const C_INVALIDTAXPROFILE = 1901; + const C_COMPANYTAXPROFILEENTRYREQUIRED = 1902; + const C_ERRORREADINGTAXPROFILEENTRY = 1903; /** - * Batch file is currently being created. + * AuditAccount API errors */ - const C_CREATING = 4; + const C_TRACEDATANOTAVAILABLE = 2000; /** - * Batch file has been deleted. + * Item and Nexus parameter errors */ - const C_DELETED = 5; + const C_INVALIDPARAMETERUNITMEASUREMENTTYPE = 2100; + const C_PARAMETERUNITREQUIRED = 2101; + const C_INVALIDPARAMETERVALUEDATATYPE = 2102; + const C_INVALIDPARAMETERATTRIBUTETYPE = 2103; + const C_SUBSCRIPTIONREQUIREDFORPARAMETER = 2104; /** - * Batch file was processed with some errors. + * Accounting Firm errors */ - const C_ERRORS = 6; + const C_INVALIDACCOUNTTYPE = 2105; + const C_INVALIDFIRMSUBSCRIPTIONS = 2106; /** - * Batch processing was paused. + * Certify Company Errors */ - const C_PAUSED = 7; + const C_GENERICTAXCODEFORITEM = 2200; + const C_CANNOTCERTIFYCOMPANY = 2201; + const C_NOVOIDEDDOCUMENTS = 2202; + const C_INADEQUATECOMMITTEDDOCUMENTS = 2203; + const C_DOCUMENTCODEISGUID = 2204; + const C_CUSTOMERVENDORCODEISGUID = 2205; + const C_INADEQUATEDOCUMENTLINECOUNT = 2206; + const C_SAMEDOCUMENTDESCRIPTION = 2207; + const C_NOEXEMPTIONNOORCUSTOMERUSAGETYPE = 2208; + const C_INADEQUATEUNIQUEADDRESSES = 2209; + const C_ITEMCODESAREALLSAME = 2210; + const C_TAXCODESAREALLSAME = 2211; + const C_LOCATIONCODENOTUSED = 2212; + const C_REPEATEDLINESINDOCUMENT = 2213; + const C_TAXDATEOVERRIDEANDNEGATIVELINEAMOUNT = 2214; + const C_ALLUSDCURRENCYCODES = 2215; + const C_NOVATBUYERID = 2216; + const C_ALLUSCOUNTRYCODES = 2217; + const C_NODOCUMENTSTOTEST = 2218; + const C_NOSHIPPINGCHARGE = 2219; /** - * Batch is currently being processed. + * Company Controller Related Errors */ - const C_PROCESSING = 8; + const C_FAILEDTOUPDATECOMPANYLOCATION = 2314; + const C_COMPANYLOCATIONDATERANGEOVERLAP = 2315; /** - * Batch is currently being cancelled. + * Generic validation errors */ - const C_CANCELLING = 9; - -} - -/** - * Swagger Name: AvaTaxClient - * Reason code for voiding or cancelling a transaction - */ -class VoidReasonCode -{ + const C_FIELDLENGTHERROR = 2400; + const C_INPUTCONTAINSBLACKLISTEDCHARACTERS = 2401; + const C_CANNOTCREATENESTEDOBJECTS = 2402; + const C_INVALIDUSERNAME = 2403; + /** - * Unspecified reason + * User's SubjectId not updated by DB query */ - const C_UNSPECIFIED = 0; + const C_USERSUBJECTIDNOTUPDATED = 2500; /** - * Post operation failed - Document status will be changed to unposted + * Batch errors + * For other batch errors, see: 200 - 208 above */ - const C_POSTFAILED = 1; + const C_BATCHTRANSACTIONTYPEERROR = 2501; + const C_BATCHTRANSACTIONLINELIMITEXCEEDED = 2502; + const C_BATCHCOMPANYIDANDCOMPANYCODEMISMATCH = 2503; + const C_BATCHCANNOTBECANCELLEDSTATUSERROR = 2504; + const C_BATCHCANNOTBECANCELLEDFORMATERROR = 2505; + const C_BATCHTYPENOTSUPPORTED = 2506; /** - * Document deleted - If committed, document status will be changed to Cancelled. If not committed, document will be - * deleted. + * Parameter related errors */ - const C_DOCDELETED = 2; + const C_INVALIDPARAMETERDATATYPE = 2600; /** - * Document has been voided and DocStatus will be set to Cancelled + * Tags related error */ - const C_DOCVOIDED = 3; + const C_TAGDOESNOTEXIST = 2620; /** - * AdjustTax operation has been cancelled. Adjustment will be reversed. + * Object deleted message */ - const C_ADJUSTMENTCANCELLED = 4; - -} - -/** - * Swagger Name: AvaTaxClient - * The way of delivering request - */ -class CertificateRequestDeliveryMethod -{ + const C_OBJECTDELETED = 2660; + const C_ASSOCIATEDOBJECTSDELETED = 2661; + /** - * The invitation will be sent via email to the recipient's email address. + * Additional report related errors */ - const C_EMAIL = 1; + const C_CANNOTDOWNLOADREPORT = 2700; /** - * The invitation will be sent via facsimile to the recipient's facsimile phone number. - * - * Facsimile transmission make take time to process and deliver via phone lines. + * AVT-10699 - Multi-tax custom Tax Rules (Phase 1) */ - const C_FAX = 2; + const C_INVALIDUNITOFBASIS = 2800; + const C_NOTAPPLICABLEUNITOFBASIS = 2801; + const C_INVALIDRATETYPETAXTYPEMAPPING = 2802; + const C_INVALIDTAXTYPEGROUP = 2803; + const C_INVALIDTAXSUBTYPE = 2804; + const C_INVALIDPRODUCTTYPEID = 2805; + const C_INVALIDTAXRULETYPE = 2806; + const C_INVALIDHSCODE = 2807; + const C_NOTAPPLICABLETAXTYPE = 2808; + const C_INVALIDTAXTYPECODE = 2809; + const C_CONTENTACCESSDENIED = 2810; + const C_CONTENTNOTFOUND = 2811; + const C_REGISTRATIONNUMBERNOTFOUND = 2812; + const C_INVALIDCOSTCENTER = 2813; /** - * The request will be processed and turned into a web link (URL) which the user can click on to visit the CertExpress site and immediately - * begin entering data about their certificates. + * Sync flow restricts one record for Item model */ - const C_DOWNLOAD = 3; - -} - -/** - * Swagger Name: AvaTaxClient - * Indicates the status of a CertExpress invitation link. - */ -class CertExpressInvitationStatus -{ + const C_TOOMANYITEMSINSYNCFLOWREQUEST = 2814; + /** - * The CertExpress website is currently building a landing page for the customer. Please - * wait about 10 seconds and fetch this request again to see when it will be ready. + * IMS-2096: Recommendation status update rule */ - const C_INPROGRESS = 0; + const C_INVALIDTAXCODEIDINRECOMMENDATIONSTATUSUPDATE = 2815; /** - * Indicates that the CertExpress invitation has been completed and is ready to use. + * Occurs when a Header value is incorrect or invalid in some way */ - const C_READY = 1; + const C_INVALIDHTTPHEADER = 3000; } /** * Swagger Name: AvaTaxClient - * Visibility for a parameter. + * Severity of message */ -class Visibility +class SeverityLevel { /** - * Denotes the Parameter is required + * Operation succeeded */ - const C_REQUIRED = 0; + const C_SUCCESS = 0; /** - * Denotes the Parameter is recommended + * Warnings occured, operation succeeded */ - const C_RECOMMENDED = 1; + const C_WARNING = 1; /** - * Denotes the Parameter is optional + * Errors occured, operation failed */ - const C_OPTIONAL = 2; + const C_ERROR = 2; /** - * Denotes the Parameter is conditional + * Unexpected exceptions occurred, operation failed */ - const C_CONDITIONAL = 3; + const C_EXCEPTION = 3; } /** * Swagger Name: AvaTaxClient - * Choice of rounding level for a transaction + * Indicates what level of auditing information is available for a transaction */ -class RoundingLevelId +class ApiCallStatus { /** - * Round tax on each line separately + * If the original api call is availabe on S3 */ - const C_LINE = 0; + const C_ORIGINALAPICALLAVAILABLE = 0; /** - * Round tax at the document level + * if the original api call is not available, reconstructed api call should always be available */ - const C_DOCUMENT = 1; + const C_RECONSTRUCTEDAPICALLAVAILABLE = 1; + + /** + * Any other api call status + */ + const C_ANY = -1; } /** * Swagger Name: AvaTaxClient - * TaxDependencyLevelId + * A list of possible AvaFile Form Types. */ -class TaxDependencyLevelId +class FormTypeId { /** - * Document + * Denotes the form type is Sales and Use Tax */ - const C_DOCUMENT = 0; + const C_SALESANDUSE = 0; /** - * State + * Denotes the form type is Sales Tax only */ - const C_STATE = 1; + const C_SALES = 1; /** - * TaxRegion + * Denotes the form type is Sellers Use Tax only */ - const C_TAXREGION = 2; + const C_SELLERSUSE = 2; /** - * Address + * Denotes the form type is Lodging Tax only */ - const C_ADDRESS = 3; - -} - -/** - * Swagger Name: AvaTaxClient - * - */ -class UserDefinedFieldDataType -{ + const C_LODGING = 3; + /** - * Represents String dataType + * Denotes the form type is Sales and Lodging Tax */ - const C_STRING = 0; + const C_SALESANDLODGING = 4; /** - * Represents Number dataType + * Denotes the form type is Consumer Use Tax only */ - const C_NUMBER = 1; + const C_CONSUMERUSE = 5; /** - * Represents Date dataType + * Denotes the form type is Resort and Rental Tax */ - const C_DATE = 2; + const C_RESORTANDRENTAL = 6; /** - * Represents Boolean dataType + * Denotes the form type is Tourist and Rental Tax */ - const C_BOOLEAN = 3; + const C_TOURISTANDRENTAL = 7; + + /** + * Denotes the form type is Prepayment + */ + const C_PREPAYMENT = 8; + + /** + * Denotes the form type is Prepayment Allowance + */ + const C_PREPAYMENTALLOWED = 9; } /** * Swagger Name: AvaTaxClient - * Service modes for tax calculation when using an AvaLocal server. + * A list of possible AvaFile filing option types. */ -class ServiceMode +class FilingOptionTypeId { /** - * Automatically use local or remote (default) + * Denotes the tax return is being filed on paper. */ - const C_AUTOMATIC = 0; + const C_PAPER = 0; /** - * Local server only + * Denotes the form can be efiled optionally. */ - const C_LOCAL = 1; + const C_OPTIONALEFILE = 1; /** - * Remote server only + * Denotes the form is being filed via efile. */ - const C_REMOTE = 2; + const C_MANDATORYEFILE = 2; } /** * Swagger Name: AvaTaxClient - * Indicates the level of detail requested from a tax API call + * A list of possible Due Date Types */ -class TaxDebugLevel +class DueDateTypeId { /** - * User requests the normal level of debug information when creating a tax transaction + * Denotes form is due on the due day */ - const C_NORMAL = 0; + const C_BYDAY = 0; /** - * User requests additional diagnostic information when creating a tax transaction + * Denotes form is due by last day of the month */ - const C_DIAGNOSTIC = 1; + const C_BYLASTDAY = 1; + + /** + * Denotes form is due by second to last day of the month + */ + const C_BYSECONDLASTDAY = 2; } /** * Swagger Name: AvaTaxClient - * + * Indicates the rounding behavior of a form */ -class DeliveryTerms +class RoundingTypeId { /** - * Delivery At Place (DAP) implies that Duty And Tax will be paid by the Buyer or Consignee of the shipment - */ - const C_DAP = 1; - - /** - * Delivery Duty Paid (DDP) implies that Duty And Tax will be paid by the Shipper - */ - const C_DDP = 2; - - /** - * Free on Board + * There is no rounding on the return */ - const C_FOB = 3; + const C_NONE = 0; /** - * Free Carrier + * Round to the nearest whole number */ - const C_FCA = 4; + const C_NEAREST = 1; /** - * Free Alongside Ship + * Always round up */ - const C_FAS = 5; + const C_UP = 2; /** - * Ex Works + * Always round down */ - const C_EXW = 6; - + const C_DOWN = 3; + +} + +/** + * Swagger Name: AvaTaxClient + * Indicates the behavior of a tax form for a company with multiple places of business. + * + * Some tax authorities require that a separate form must be filed for each place of business. + */ +class OutletTypeId +{ /** - * Delivered at Place Unloaded + * File a single return per cycle for your entire business. */ - const C_DPU = 7; + const C_NONE = 0; /** - * Carriage Paid To + * You may file separate forms for each outlet; contact the tax authority for more details about location based reporting requirements. */ - const C_CPT = 8; + const C_SCHEDULE = 1; /** - * Carriage Insurance Paid To + * You may file separate forms for each outlet; contact the tax authority for more details about location based reporting requirements. */ - const C_CIP = 9; + const C_DUPLICATE = 2; /** - * Cost, Insurance, and Freight + * File a single return, but you must have a line item for each place of business. */ - const C_CIF = 10; + const C_CONSOLIDATED = 3; + +} + +/** + * Swagger Name: AvaTaxClient + * The type of data contained in this batch + */ +class BatchType +{ const C_AVACERTUPDATE = 0; + const C_AVACERTUPDATEALL = 1; + const C_BATCHMAINTENANCE = 2; + const C_COMPANYLOCATIONIMPORT = 3; + const C_DOCUMENTIMPORT = 4; + const C_EXEMPTCERTIMPORT = 5; + const C_ITEMIMPORT = 6; + const C_SALESAUDITEXPORT = 7; + const C_SSTPTESTDECKIMPORT = 8; + const C_TAXRULEIMPORT = 9; /** - * Cost And Freight + * This batch type represents tax transaction data being uploaded to AvaTax. Each line in the batch represents a single transaction + * or a line in a multi-line transaction. For reference, see [Batched Transactions in REST v2](http://developer.avalara.com/blog/2016/10/24/batch-transaction-upload-in-rest-v2) */ - const C_CFR = 11; + const C_TRANSACTIONIMPORT = 10; + const C_UPCBULKIMPORT = 11; + const C_UPCVALIDATIONIMPORT = 12; + const C_CUSTOMERSUPPLIERIMPORT = 13; + const C_VARIANCEIMPORT = 14; + const C_COSTCENTERIMPORT = 15; + const C_GLACCOUNTIMPORT = 16; } /** * Swagger Name: AvaTaxClient - * Filing Frequency types + * The status of a batch file */ -class FilingFrequencyId +class BatchStatus { /** - * File once per month + * Batch file has been received and is in the queue to be processed. */ - const C_MONTHLY = 1; + const C_WAITING = 0; /** - * File once per three months + * Batch file experienced system errors and cannot be processed. */ - const C_QUARTERLY = 2; + const C_SYSTEMERRORS = 1; /** - * File twice per year + * Batch file is cancelled */ - const C_SEMIANNUALLY = 3; + const C_CANCELLED = 2; /** - * File once per year + * Batch file has been completely processed. */ - const C_ANNUALLY = 4; + const C_COMPLETED = 3; /** - * File every other month + * Batch file is currently being created. */ - const C_BIMONTHLY = 5; + const C_CREATING = 4; /** - * File only when there are documents to report + * Batch file has been deleted. */ - const C_OCCASIONAL = 6; + const C_DELETED = 5; /** - * File for the first two months of each quarter, then do not file on the quarterly month. + * Batch file was processed with some errors. */ - const C_INVERSEQUARTERLY = 7; + const C_ERRORS = 6; /** - * File every week + * Batch processing was paused. */ - const C_WEEKLY = 8; - -} - -/** - * Swagger Name: AvaTaxClient - * Status when deleting an error transaction - */ -class AvataxDeleteErrorTransactionStatus -{ + const C_PAUSED = 7; + /** - * Successful delete + * Batch is currently being processed. */ - const C_SUCCESS = 0; + const C_PROCESSING = 8; /** - * Failed delete + * Batch is currently being cancelled. */ - const C_FAILURE = 1; + const C_CANCELLING = 9; } /** * Swagger Name: AvaTaxClient - * Jurisdiction Type + * Reason code for voiding or cancelling a transaction */ -class JurisdictionType +class VoidReasonCode { /** - * Country + * Unspecified reason */ - const C_COUNTRY = 0; + const C_UNSPECIFIED = 0; /** - * State + * Post operation failed - Document status will be changed to unposted */ - const C_STATE = 1; + const C_POSTFAILED = 1; /** - * County + * Document deleted - If committed, document status will be changed to Cancelled. If not committed, document will be + * deleted. */ - const C_COUNTY = 2; + const C_DOCDELETED = 2; /** - * City + * Document has been voided and DocStatus will be set to Cancelled */ - const C_CITY = 3; + const C_DOCVOIDED = 3; /** - * Special Tax Jurisdiction + * AdjustTax operation has been cancelled. Adjustment will be reversed. */ - const C_SPECIAL = 4; + const C_ADJUSTMENTCANCELLED = 4; } /** * Swagger Name: AvaTaxClient - * Exempt Cert type + * The way of delivering request */ -class ExemptCertTypeId +class CertificateRequestDeliveryMethod { /** - * Blanked certificate + * The invitation will be sent via email to the recipient's email address. */ - const C_BLANKET = 0; + const C_EMAIL = 1; /** - * Single use + * The invitation will be sent via facsimile to the recipient's facsimile phone number. + * + * Facsimile transmission make take time to process and deliver via phone lines. */ - const C_SINGLEUSE = 1; + const C_FAX = 2; + + /** + * The request will be processed and turned into a web link (URL) which the user can click on to visit the CertExpress site and immediately + * begin entering data about their certificates. + */ + const C_DOWNLOAD = 3; } /** * Swagger Name: AvaTaxClient - * Status for this exempt certificate + * Indicates the status of a CertExpress invitation link. */ -class ExemptCertStatusId +class CertExpressInvitationStatus { /** - * Inactive certificate - */ - const C_INACTIVE = 0; - - /** - * Active certificate - */ - const C_ACTIVE = 1; - - /** - * Expired certificate + * The CertExpress website is currently building a landing page for the customer. Please + * wait about 10 seconds and fetch this request again to see when it will be ready. */ - const C_EXPIRED = 2; + const C_INPROGRESS = 0; /** - * Revoked certificate + * Indicates that the CertExpress invitation has been completed and is ready to use. */ - const C_REVOKED = 3; + const C_READY = 1; } /** * Swagger Name: AvaTaxClient - * Exempt certificate review status + * */ -class ExemptCertReviewStatusId -{ - /** - * Review pending - */ - const C_PENDING = 0; - - /** - * Certificate was accepted - */ - const C_ACCEPTED = 1; - - /** - * Certificate was rejected - */ - const C_REJECTED = 2; +class CertificateEcmStatus +{ const C_NONE = 0; + const C_EXPIRED = 1; + const C_INVALID = 2; + const C_VALID = 3; + const C_PENDINGFUTURE = 4; } /** * Swagger Name: AvaTaxClient - * Represents a error code message + * Visibility for a parameter. */ -class ErrorCodeId +class Visibility { /** - * Server has a configuration or setup problem - */ - const C_SERVERCONFIGURATION = 1; - - /** - * User doesn't have rights to this account or company + * Denotes the Parameter is required */ - const C_ACCOUNTINVALIDEXCEPTION = 2; - const C_COMPANYINVALIDEXCEPTION = 3; + const C_REQUIRED = 0; - /** - * Use this error message when the user is trying to fetch a single object and the object either does not exist or cannot be seen by the current user. - */ - const C_ENTITYNOTFOUNDERROR = 4; - const C_VALUEREQUIREDERROR = 5; - const C_RANGEERROR = 6; - const C_RANGECOMPAREERROR = 7; - const C_RANGESETERROR = 8; - const C_TAXPAYERNUMBERREQUIRED = 9; - const C_ENTITYLIMITEXCEEDED = 10; - const C_COMMONPASSWORD = 11; - const C_WEAKPASSWORD = 12; - const C_STRINGLENGTHERROR = 13; - const C_MAXSTRINGLENGTHERROR = 14; - const C_EMAILVALIDATIONERROR = 15; - const C_EMAILMISSINGERROR = 16; - const C_INVALIDQUERYFIELD = 17; - const C_INVALIDQUERYVALUE = 18; - const C_SYNTAXERROR = 19; - const C_TOOMANYPARAMETERSERROR = 20; - const C_UNTERMINATEDVALUEERROR = 21; - const C_DELETEUSERSELFERROR = 22; - const C_OLDPASSWORDINVALID = 23; - const C_CANNOTCHANGEPASSWORD = 24; - const C_READONLY = 25; - const C_DATEFORMATERROR = 26; - const C_NODEFAULTCOMPANY = 27; - const C_ACCOUNTTYPENOTSUPPORTED = 28; - const C_INVALIDAUTHENTICATIONTYPE = 29; - const C_AUTHENTICATIONEXCEPTION = 30; - const C_AUTHORIZATIONEXCEPTION = 31; - const C_VALIDATIONEXCEPTION = 32; - const C_INACTIVEUSERERROR = 33; - const C_AUTHENTICATIONINCOMPLETE = 34; - const C_BASICAUTHINCORRECT = 35; - const C_IDENTITYSERVERERROR = 36; - const C_BEARERTOKENINVALID = 37; - const C_MODELREQUIREDEXCEPTION = 38; - const C_ACCOUNTEXPIREDEXCEPTION = 39; - const C_BEARERTOKENNOTSUPPORTED = 41; - const C_INVALIDSECURITYROLE = 42; - const C_INVALIDREGISTRARACTION = 43; - const C_REMOTESERVERERROR = 44; - const C_NOFILTERCRITERIAEXCEPTION = 45; - const C_OPENCLAUSEEXCEPTION = 46; - const C_JSONFORMATERROR = 47; - const C_INVALIDDECIMALVALUE = 48; - const C_PERMISSIONREQUIRED = 49; - const C_UNHANDLEDEXCEPTION = 50; - const C_INACTIVEACCOUNT = 51; - const C_LINKAGENOTALLOWED = 52; - const C_LINKAGESTATUSUPDATENOTSUPPORTED = 53; - const C_REPORTINGCOMPANYMUSTHAVECONTACTSERROR = 60; - const C_COMPANYPROFILENOTSET = 61; - const C_CANNOTASSIGNUSERTOCOMPANY = 62; - const C_MUSTASSIGNUSERTOCOMPANY = 63; - const C_INVALIDTAXTYPEMAPPING = 64; - const C_MODELSTATEINVALID = 70; - const C_DATERANGEERROR = 80; - const C_INVALIDDATERANGEERROR = 81; - const C_RULEMUSTHAVETAXCODE = 82; - const C_RULETYPERESTRICTED = 83; - const C_ALLJURISRULELIMITS = 84; - const C_INVALIDCOMPANYLOCATIONSETTING = 85; - const C_INVALIDADJUSTMENTTYPE = 99; - const C_DELETEINFORMATION = 100; - const C_DISABLEAUTHENTICATIONFORSAMLBASEDACCOUNTS = 101; - const C_DISABLERESETPASSWORDFORSAMLBASEDACCOUNTS = 102; - const C_OUTOFRANGE = 118; - const C_UNSPECIFIEDTIMEZONE = 119; - const C_CANNOTCREATEDELETEDOBJECTS = 120; - const C_CANNOTMODIFYDELETEDOBJECTS = 121; - const C_RETURNNAMENOTFOUND = 122; - const C_INVALIDADDRESSTYPEANDCATEGORY = 123; - const C_DEFAULTCOMPANYLOCATION = 124; - const C_INVALIDCOUNTRY = 125; - const C_INVALIDCOUNTRYREGION = 126; - const C_BRAZILVALIDATIONERROR = 127; - const C_BRAZILEXEMPTVALIDATIONERROR = 128; - const C_BRAZILPISCOFINSERROR = 129; - const C_JURISDICTIONNOTFOUNDERROR = 130; - const C_MEDICALEXCISEERROR = 131; - const C_RATEDEPENDSTAXABILITYERROR = 132; - const C_INVALIDRATETYPECODE = 134; - const C_RATETYPENOTSUPPORTED = 135; - const C_CANNOTUPDATENESTEDOBJECTS = 136; - const C_UPCCODEINVALIDCHARS = 137; - const C_UPCCODEINVALIDLENGTH = 138; - const C_INCORRECTPATHERROR = 139; - const C_INVALIDJURISDICTIONTYPE = 140; - const C_MUSTCONFIRMRESETLICENSEKEY = 141; - const C_DUPLICATECOMPANYCODE = 142; - const C_TINFORMATERROR = 143; - const C_DUPLICATENEXUSERROR = 144; - const C_UNKNOWNNEXUSERROR = 145; - const C_PARENTNEXUSNOTFOUND = 146; - const C_INVALIDTAXCODETYPE = 147; - const C_CANNOTACTIVATECOMPANY = 148; - const C_DUPLICATEENTITYPROPERTY = 149; - const C_REPORTINGENTITYERROR = 150; - const C_INVALIDRETURNOPERATIONERROR = 151; - const C_CANNOTDELETECOMPANY = 152; - const C_COUNTRYOVERRIDESNOTAVAILABLE = 153; - const C_JURISDICTIONOVERRIDEMISMATCH = 154; - const C_DUPLICATESYSTEMTAXCODE = 155; - const C_SSTOVERRIDESNOTAVAILABLE = 156; - const C_NEXUSDATEMISMATCH = 157; - const C_NEXUSPARENTDATEMISMATCH = 159; - const C_BEARERTOKENPARSEUSERIDERROR = 160; - const C_RETRIEVEUSERERROR = 161; - const C_INVALIDCONFIGURATIONSETTING = 162; - const C_INVALIDCONFIGURATIONVALUE = 163; - const C_INVALIDENUMVALUE = 164; - const C_TAXCODEASSOCIATEDTAXRULE = 165; - const C_CANNOTSWITCHACCOUNTID = 166; - const C_REQUESTINCOMPLETE = 167; - const C_ACCOUNTNOTNEW = 168; - const C_PASSWORDLENGTHINVALID = 169; - const C_INVALIDPAGEKEY = 170; - const C_INVALIDECMSOVERRIDECODE = 171; - const C_ACCOUNTDOESNOTEXIST = 172; - const C_INVALIDTAXTYPE = 173; - const C_INCORRECTFIELDVALUE = 174; - const C_LEADINGORTRAILINGEXCEPTION = 175; - const C_NOTENOUGHADDRESSESINFO = 176; - const C_REPORTNOTINITIATED = 177; - const C_FAILEDTOBUILDREPORT = 178; - const C_REPORTNOTFINISHED = 179; - const C_FAILEDTODOWNLOADREPORT = 181; - const C_MALFORMEDFILTEREXCEPTION = 182; - const C_EXPECTEDCONJUNCTIONERROR = 183; - const C_CRITERIANOTSUPPORTEDERROR = 184; - const C_COMPANYACCOUNTANDPARENTACCOUNTMISMATCH = 185; - const C_INVALIDFILECONTENTTYPE = 186; - const C_REQUESTTOOLARGE = 187; - const C_ECMSDISABLED = 188; - const C_UNKNOWNCONJUNCTIONERROR = 189; - const C_NOLINESDISCOUNTED = 190; - const C_FAILEDTODELETE = 191; - const C_CIRCULARCOMPANYHIERARCHIES = 192; - const C_DUPLICATEENTRY = 193; - const C_DUPLICATEFIELDNAMEINORDERBY = 194; - const C_CANNOTADJUSTDOCUMENTTYPE = 195; - const C_USERNOACCESS = 196; - const C_INVALIDENTRY = 197; - const C_TRANSACTIONALREADYCANCELLED = 198; - const C_QUERYPARAMETEROUTOFRANGE = 199; + /** + * Denotes the Parameter is recommended + */ + const C_RECOMMENDED = 1; /** - * Batch errors - * New batch error codes continue at 2501 + * Denotes the Parameter is optional */ - const C_BATCHSALESAUDITMUSTBEZIPPEDERROR = 200; - const C_BATCHZIPMUSTCONTAINONEFILEERROR = 201; - const C_BATCHINVALIDFILETYPEERROR = 202; - const C_BATCHCANNOTSAVEBATCHFILE = 203; - const C_BATCHCANNOTGETBATCHFILE = 204; - const C_BATCHCANNOTDELETEBATCHFILE = 205; - const C_BATCHMUSTCONTAINONEFILE = 206; - const C_MISSINGBATCHFILECONTENT = 207; - const C_BATCHCANNOTBEDELETEDWHILEPROCESSING = 208; + const C_OPTIONAL = 2; /** - * BizTech error + * Denotes the Parameter is conditional */ - const C_INTERNALSERVERERROR = 209; + const C_CONDITIONAL = 3; + +} + +/** + * Swagger Name: AvaTaxClient + * Choice of rounding level for a transaction + */ +class RoundingLevelId +{ + /** + * Round tax on each line separately + */ + const C_LINE = 0; /** - * Point Of Sale API exceptions + * Round tax at the document level */ - const C_POINTOFSALEFILESIZE = 250; - const C_POINTOFSALESETUP = 251; - const C_INVALIDINPUTDATE = 252; + const C_DOCUMENT = 1; + +} + +/** + * Swagger Name: AvaTaxClient + * TaxDependencyLevelId + */ +class TaxDependencyLevelId +{ + /** + * Document + */ + const C_DOCUMENT = 0; /** - * Errors in Soap V1 Passthrough / GetTax calls + * State */ - const C_GETTAXERROR = 300; - const C_ADDRESSCONFLICTEXCEPTION = 301; - const C_DOCUMENTCODECONFLICT = 303; - const C_MISSINGADDRESS = 304; - const C_INVALIDPARAMETERVALUE = 306; - const C_FETCHLIMIT = 308; - const C_INVALIDADDRESS = 309; - const C_ADDRESSLOCATIONNOTFOUND = 310; - const C_MISSINGLINE = 311; - const C_INVALIDADDRESSTEXTCASE = 312; - const C_DOCUMENTNOTCOMMITTED = 313; - const C_LINEFETCHLIMITEXCEEDED = 314; - const C_INVALIDDOCUMENTTYPESTOFETCH = 315; - const C_TIMEOUTREQUESTED = 316; - const C_INVALIDPOSTALCODE = 317; + const C_STATE = 1; /** - * Subscription error codes + * TaxRegion */ - const C_INVALIDSUBSCRIPTIONDESCRIPTION = 318; - const C_INVALIDSUBSCRIPTIONTYPEID = 319; + const C_TAXREGION = 2; /** - * Represents a malformed document fetch command + * Address */ - const C_CANNOTCHANGEFILINGSTATUS = 401; + const C_ADDRESS = 3; + +} + +/** + * Swagger Name: AvaTaxClient + * + */ +class UserDefinedFieldDataType +{ + /** + * Represents String dataType + */ + const C_STRING = 0; /** - * Represents a FEIN in incorrect format. + * Represents Number dataType */ - const C_FEINFORMATERROR = 402; + const C_NUMBER = 1; /** - * Represents a SQL server timeout error / deadlock error + * Represents Date dataType */ - const C_SERVERUNREACHABLE = 500; + const C_DATE = 2; /** - * Partner API error codes + * Represents Boolean dataType */ - const C_SUBSCRIPTIONREQUIRED = 600; - const C_ACCOUNTEXISTS = 601; - const C_INVITATIONONLY = 602; - const C_ACCOUNTNOTWHITELISTED = 603; - const C_FREETRIALNOTAVAILABLE = 606; - const C_ACCOUNTEXISTSDIFFERENTEMAIL = 607; - const C_AVALARAIDENTITYAPIERROR = 608; - const C_INVALIDIPADDRESS = 609; - const C_OFFERCODEALREADYAPPLIED = 610; - const C_ACCOUNTALREADYEXISTS = 611; - const C_LICENSEKEYNAMEALREADYEXISTSFORACCOUNT = 612; - const C_USERALREADYEXIST = 613; - const C_USERNOTFOUND = 614; - const C_USERMANAGEMENTEXCEPTION = 615; + const C_BOOLEAN = 3; + +} + +/** + * Swagger Name: AvaTaxClient + * Service modes for tax calculation when using an AvaLocal server. + */ +class ServiceMode +{ + /** + * Automatically use local or remote (default) + */ + const C_AUTOMATIC = 0; /** - * Refund API error codes + * Local server only */ - const C_REFUNDTYPEANDPERCENTAGEMISMATCH = 701; - const C_INVALIDDOCUMENTTYPEFORREFUND = 702; - const C_REFUNDTYPEANDLINEMISMATCH = 703; - const C_REFUNDLINESREQUIRED = 704; - const C_INVALIDREFUNDTYPE = 705; - const C_REFUNDPERCENTAGEFORTAXONLY = 706; - const C_LINENOOUTOFRANGE = 707; - const C_REFUNDPERCENTAGEOUTOFRANGE = 708; - const C_REFUNDPERCENTAGEMISSING = 709; + const C_LOCAL = 1; /** - * Free API error codes + * Remote server only */ - const C_MUSTUSECREATETRANSACTION = 800; - const C_MUSTACCEPTTERMSANDCONDITIONS = 801; + const C_REMOTE = 2; + +} + +/** + * Swagger Name: AvaTaxClient + * Indicates the level of detail requested from a tax API call + */ +class TaxDebugLevel +{ + /** + * User requests the normal level of debug information when creating a tax transaction + */ + const C_NORMAL = 0; /** - * Filing Calendar Error Codes + * User requests additional diagnostic information when creating a tax transaction */ - const C_FILINGCALENDARCANNOTBEDELETED = 900; - const C_INVALIDEFFECTIVEDATE = 901; - const C_NONOUTLETFORM = 902; - const C_OVERLAPPINGFILINGCALENDAR = 903; - const C_FILINGCALENDARCANNOTBEEDITED = 904; + const C_DIAGNOSTIC = 1; + +} + +/** + * Swagger Name: AvaTaxClient + * + */ +class DeliveryTerms +{ + /** + * Delivery At Place (DAP) implies that Duty And Tax will be paid by the Buyer or Consignee of the shipment + */ + const C_DAP = 1; /** - * Create or update transaction error codes + * Delivery Duty Paid (DDP) implies that Duty And Tax will be paid by the Shipper */ - const C_CANNOTMODIFYLOCKEDTRANSACTION = 1100; - const C_LINEALREADYEXISTS = 1101; - const C_LINEDOESNOTEXIST = 1102; - const C_LINESNOTSPECIFIED = 1103; - const C_LINEDETAILSDOESNOTEXIST = 1104; - const C_CANNOTCREATETRANSACTIONWITHDELETEDDATASOURCE = 1105; - const C_SHIPTOREGIONREQUIREDWITHDATASOURCE = 1106; + const C_DDP = 2; /** - * Exempt cert error codes + * Free on Board */ - const C_INVALIDBUSINESSTYPE = 1200; - const C_CANNOTMODIFYEXEMPTCERT = 1201; - const C_CERTIFICATESERROR = 1203; - const C_MISSINGREQUIREDFIELDS = 1204; - const C_CERTIFICATESNOTSETUP = 1205; - const C_CONFLICTINGEXPOSUREZONE = 1208; - const C_MISSINGFIELDTOCREATEEXPOSUREZONE = 1209; - const C_MISSINGEXEMPTREASON = 1210; - const C_INVALIDEXEMPTREASON = 1211; - const C_INVALIDEXEMPTIONOPERATION = 1212; - const C_CONFLICTINGFIELDS = 1213; - const C_INVALIDPDFORIMAGEFILE = 1214; - const C_INVALIDCOVERLETTERTITLE = 1215; - const C_ACCOUNTNOTPROVISIONED = 1216; - const C_INVALIDREQUESTCONTENTTYPE = 1217; - const C_EXEMPTIONPAGINATIONLIMITS = 1218; - const C_EXEMPTIONSORTLIMITS = 1219; - const C_CUSTOMERCANTBEBOTHSHIPTOANDBILLTO = 1220; - const C_BILLTOCUSTOMEREXPECTED = 1221; - const C_SHIPTOCUSTOMEREXPECTED = 1222; - const C_ECMSSSTCERTSREQUIRED = 1223; + const C_FOB = 3; /** - * Multi document error codes + * Free Carrier */ - const C_TRANSACTIONNOTCANCELLED = 1300; - const C_TOOMANYTRANSACTIONS = 1301; - const C_ONLYTAXDATEOVERRIDEISALLOWED = 1302; - const C_TRANSACTIONALREADYEXISTS = 1303; - const C_MULTIDOCUMENTTRANSACTIONALREADYEXISTS = 1304; - const C_DATEMISMATCH = 1305; - const C_INVALIDDOCUMENTSTATUSFORVERIFY = 1306; - const C_TOTALAMOUNTMISMATCH = 1307; - const C_TOTALTAXMISMATCH = 1308; - const C_INVALIDDOCUMENTTYPE = 1310; - const C_MULTIDOCUMENTPARTIALLYLOCKED = 1312; - const C_TRANSACTIONISCOMMITTED = 1313; - const C_INVALIDDOCUMENTSTATUS = 1314; + const C_FCA = 4; /** - * Communications Tax error codes + * Free Alongside Ship */ - const C_COMMSCONFIGCLIENTIDMISSING = 1400; - const C_COMMSCONFIGCLIENTIDBADVALUE = 1401; + const C_FAS = 5; /** - * Account Activate error codes + * Ex Works */ - const C_ACCOUNTINNEWSTATUSEXCEPTION = 1404; + const C_EXW = 6; /** - * Worksheet Exception + * Delivered at Place Unloaded */ - const C_WORKSHEETEXCEPTION = 1405; - const C_INVALIDACCOUNTOVERRIDE = 1406; - const C_ACCOUNTOVERRIDENOTAUTHORIZED = 1407; - const C_FIELDNOTQUERYABLEERROR = 1408; - const C_USERNAMEREQUIRED = 1409; - const C_INVALIDAUDITMESSAGE = 1410; - const C_FIELDNOTORDERABLEERROR = 1411; + const C_DPU = 7; + + /** + * Carriage Paid To + */ + const C_CPT = 8; /** - * Nexus validation error codes + * Carriage Insurance Paid To */ - const C_CANNOTDELETEPARENTBEFORECHILDNEXUS = 1500; - const C_NEXUSCHILDDATEMISMATCH = 1501; + const C_CIP = 9; /** - * Remote validation Error + * Cost, Insurance, and Freight */ - const C_REMOTEVALIDATIONERROR = 1502; - const C_CANNOTMODIFYSSTNEXUS = 1503; - const C_INVALIDLOCALNEXUSTYPEID = 1504; + const C_CIF = 10; /** - * Advanced rule errors + * Cost And Freight */ - const C_ADVANCEDRULEREQUESTRULEERROR = 1602; - const C_ADVANCEDRULERESPONSERULEERROR = 1603; - const C_ADVANCEDRULEERROR = 1605; - + const C_CFR = 11; + +} + +/** + * Swagger Name: AvaTaxClient + * Filing Frequency types + */ +class FilingFrequencyId +{ /** - * Miscellaneous + * File once per month */ - const C_TAXRULEREQUIRESNEXUS = 1701; - const C_UPCCODENOTUNIQUE = 1702; - const C_TAXCODEASSOCIATEDWITHITEMCODENOTFOUND = 1704; - const C_DUPLICATESYSTEMFORITEM = 1705; - const C_CANNOTDISMISSGLOBALNOTIFICATION = 1706; - const C_CANNOTUPDATEACCOUNTTYPEID = 1713; - const C_TAXPAYERNUMBERISREQUIRED = 1714; - const C_REQUESTLIMITEXCEEDED = 1715; - const C_CONCURRENTREQUESTLIMITEXCEEDED = 1716; - const C_INVALIDDOCUMENTTYPEFORINSPECT = 1717; - const C_SERVICENOTREADY = 1718; - const C_UPDATELOCATIONREMITTANCEMISMATCHTYPEANDCATEGORY = 1719; - const C_UPDATELOCATIONREMITTANCECHECKEXISTINGEFFECTIVEDATEERROR = 1720; - const C_UPDATELOCATIONREMITTANCECHECKEXISTINGENDDATEERROR = 1721; - const C_ERRORCOUNTLIMITEXCEEDEDERROR = 1722; - const C_RATELIMITEXCEEDEDERROR = 1723; - const C_TAXCODEANDTAXCODEIDMISSING = 1724; - const C_NEXUSALREADYEXISTS = 1725; - const C_INVALIDADDRESSTYPEANDMARKETPLACEOUSIDEUSAFLAG = 1726; - const C_INVALIDSETTINGSET = 1727; - const C_INVALIDSETTINGNAME = 1728; - const C_INVALIDSETTINGVALUE = 1729; - const C_TOOMANYUSERDEFINEDFIELDS = 1730; - const C_DUPLICATEUSERDEFINEDFIELDSFOUND = 1731; - const C_INVALIDNAMEFORUSERDEFINEDFIELD = 1732; - const C_INVALIDRESTRICTIONTYPE = 1733; - const C_INVALIDPARAMETER = 1734; - const C_INVALIDSYSTEMCODE = 1735; - const C_NOITEMSFORCLASSIFICATION = 1736; - const C_INVALIDFILENAME = 1737; - const C_NOCLASSIFICATIONFORSAMEHSCODE = 1738; - const C_INVALIDVALUEERROR = 1739; - const C_ITEMDUALWRITEPARAMETERVALUEMISMATCHERROR = 1740; - const C_DUPLICATEITEMIDSINTAXCODECLASSIFICATIONREQUEST = 1741; - const C_TOOMANYITEMIDSINTAXCODECLASSIFICATIONREQUEST = 1742; + const C_MONTHLY = 1; /** - * SendSales API errors + * File once per three months */ - const C_UNSUPPORTEDFILEFORMAT = 1800; - const C_UNSUPPORTEDOUTPUTFILETYPE = 1801; + const C_QUARTERLY = 2; /** - * TaxProfile API errors + * File twice per year */ - const C_TAXPROFILENOTPROVIDED = 1900; - const C_INVALIDTAXPROFILE = 1901; - const C_COMPANYTAXPROFILEENTRYREQUIRED = 1902; - const C_ERRORREADINGTAXPROFILEENTRY = 1903; + const C_SEMIANNUALLY = 3; /** - * AuditAccount API errors + * File once per year */ - const C_TRACEDATANOTAVAILABLE = 2000; + const C_ANNUALLY = 4; /** - * Item and Nexus parameter errors + * File every other month */ - const C_INVALIDPARAMETERUNITMEASUREMENTTYPE = 2100; - const C_PARAMETERUNITREQUIRED = 2101; - const C_INVALIDPARAMETERVALUEDATATYPE = 2102; - const C_INVALIDPARAMETERATTRIBUTETYPE = 2103; - const C_SUBSCRIPTIONREQUIREDFORPARAMETER = 2104; + const C_BIMONTHLY = 5; /** - * Accounting Firm errors + * File only when there are documents to report */ - const C_INVALIDACCOUNTTYPE = 2105; - const C_INVALIDFIRMSUBSCRIPTIONS = 2106; + const C_OCCASIONAL = 6; /** - * Certify Company Errors + * File for the first two months of each quarter, then do not file on the quarterly month. */ - const C_GENERICTAXCODEFORITEM = 2200; - const C_CANNOTCERTIFYCOMPANY = 2201; - const C_NOVOIDEDDOCUMENTS = 2202; - const C_INADEQUATECOMMITTEDDOCUMENTS = 2203; - const C_DOCUMENTCODEISGUID = 2204; - const C_CUSTOMERVENDORCODEISGUID = 2205; - const C_INADEQUATEDOCUMENTLINECOUNT = 2206; - const C_SAMEDOCUMENTDESCRIPTION = 2207; - const C_NOEXEMPTIONNOORCUSTOMERUSAGETYPE = 2208; - const C_INADEQUATEUNIQUEADDRESSES = 2209; - const C_ITEMCODESAREALLSAME = 2210; - const C_TAXCODESAREALLSAME = 2211; - const C_LOCATIONCODENOTUSED = 2212; - const C_REPEATEDLINESINDOCUMENT = 2213; - const C_TAXDATEOVERRIDEANDNEGATIVELINEAMOUNT = 2214; - const C_ALLUSDCURRENCYCODES = 2215; - const C_NOVATBUYERID = 2216; - const C_ALLUSCOUNTRYCODES = 2217; - const C_NODOCUMENTSTOTEST = 2218; - const C_NOSHIPPINGCHARGE = 2219; + const C_INVERSEQUARTERLY = 7; /** - * Company Controller Related Errors + * File every week */ - const C_FAILEDTOUPDATECOMPANYLOCATION = 2314; - const C_COMPANYLOCATIONDATERANGEOVERLAP = 2315; - + const C_WEEKLY = 8; + +} + +/** + * Swagger Name: AvaTaxClient + * Status when deleting an error transaction + */ +class AvataxDeleteErrorTransactionStatus +{ /** - * Generic validation errors + * Successful delete */ - const C_FIELDLENGTHERROR = 2400; - const C_INPUTCONTAINSBLACKLISTEDCHARACTERS = 2401; - const C_CANNOTCREATENESTEDOBJECTS = 2402; - const C_INVALIDUSERNAME = 2403; + const C_SUCCESS = 0; /** - * User's SubjectId not updated by DB query + * Failed delete */ - const C_USERSUBJECTIDNOTUPDATED = 2500; - + const C_FAILURE = 1; + +} + +/** + * Swagger Name: AvaTaxClient + * Jurisdiction Type + */ +class JurisdictionType +{ /** - * Batch errors - * For other batch errors, see: 200 - 208 above + * Country */ - const C_BATCHTRANSACTIONTYPEERROR = 2501; - const C_BATCHTRANSACTIONLINELIMITEXCEEDED = 2502; - const C_BATCHCOMPANYIDANDCOMPANYCODEMISMATCH = 2503; - const C_BATCHCANNOTBECANCELLEDSTATUSERROR = 2504; - const C_BATCHCANNOTBECANCELLEDFORMATERROR = 2505; - const C_BATCHTYPENOTSUPPORTED = 2506; + const C_COUNTRY = 0; /** - * Parameter related errors + * State */ - const C_INVALIDPARAMETERDATATYPE = 2600; + const C_STATE = 1; /** - * Tags related error + * County */ - const C_TAGDOESNOTEXIST = 2620; + const C_COUNTY = 2; /** - * Object deleted message + * City */ - const C_OBJECTDELETED = 2660; - const C_ASSOCIATEDOBJECTSDELETED = 2661; + const C_CITY = 3; /** - * Additional report related errors + * Special Tax Jurisdiction */ - const C_CANNOTDOWNLOADREPORT = 2700; + const C_SPECIAL = 4; + +} + +/** + * Swagger Name: AvaTaxClient + * Exempt Cert type + */ +class ExemptCertTypeId +{ + /** + * Blanked certificate + */ + const C_BLANKET = 0; /** - * AVT-10699 - Multi-tax custom Tax Rules (Phase 1) + * Single use */ - const C_INVALIDUNITOFBASIS = 2800; - const C_NOTAPPLICABLEUNITOFBASIS = 2801; - const C_INVALIDRATETYPETAXTYPEMAPPING = 2802; - const C_INVALIDTAXTYPEGROUP = 2803; - const C_INVALIDTAXSUBTYPE = 2804; - const C_INVALIDPRODUCTTYPEID = 2805; - const C_INVALIDTAXRULETYPE = 2806; - const C_INVALIDHSCODE = 2807; - const C_NOTAPPLICABLETAXTYPE = 2808; - const C_INVALIDTAXTYPECODE = 2809; - const C_CONTENTACCESSDENIED = 2810; - const C_CONTENTNOTFOUND = 2811; - const C_REGISTRATIONNUMBERNOTFOUND = 2812; - const C_INVALIDCOSTCENTER = 2813; + const C_SINGLEUSE = 1; + +} + +/** + * Swagger Name: AvaTaxClient + * Status for this exempt certificate + */ +class ExemptCertStatusId +{ + /** + * Inactive certificate + */ + const C_INACTIVE = 0; /** - * Sync flow restricts one record for Item model + * Active certificate */ - const C_TOOMANYITEMSINSYNCFLOWREQUEST = 2814; + const C_ACTIVE = 1; /** - * IMS-2096: Recommendation status update rule + * Expired certificate */ - const C_INVALIDTAXCODEIDINRECOMMENDATIONSTATUSUPDATE = 2815; + const C_EXPIRED = 2; /** - * Occurs when a Header value is incorrect or invalid in some way + * Revoked certificate */ - const C_INVALIDHTTPHEADER = 3000; + const C_REVOKED = 3; } /** * Swagger Name: AvaTaxClient - * Severity of message + * Exempt certificate review status */ -class SeverityLevel +class ExemptCertReviewStatusId { /** - * Operation succeeded - */ - const C_SUCCESS = 0; - - /** - * Warnings occured, operation succeeded + * Review pending */ - const C_WARNING = 1; + const C_PENDING = 0; /** - * Errors occured, operation failed + * Certificate was accepted */ - const C_ERROR = 2; + const C_ACCEPTED = 1; /** - * Unexpected exceptions occurred, operation failed + * Certificate was rejected */ - const C_EXCEPTION = 3; + const C_REJECTED = 2; } diff --git a/src/Methods.php b/src/Methods.php index 2ea1981..bf17ba2 100644 --- a/src/Methods.php +++ b/src/Methods.php @@ -1451,7 +1451,7 @@ public function listCustomersForCertificate($companyId, $id, $include=null) { * * @param int $companyId The ID number of the company to search * @param string $include OPTIONAL: A comma separated list of special fetch options. You can specify one or more of the following: * customers - Retrieves the list of customers linked to the certificate. * po_numbers - Retrieves all PO numbers tied to the certificate. * attributes - Retrieves all attributes applied to the certificate. - * @param string $filter A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* exemptionNumber, status, ecmsId, ecmsStatus, pdf, pages + * @param string $filter A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* exemptionNumber, status, ecmStatus, ecmsId, ecmsStatus, pdf, pages * @param int $top If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. * @param int $skip If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. * @param string $orderBy A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -3065,7 +3065,7 @@ public function listAttributesForCustomer($companyId, $customerCode) { * @param int $companyId The unique ID number of the company that recorded this customer * @param string $customerCode The unique code representing this customer * @param string $include OPTIONAL: A comma separated list of special fetch options. You can specify one or more of the following: * customers - Retrieves the list of customers linked to the certificate. * po_numbers - Retrieves all PO numbers tied to the certificate. * attributes - Retrieves all attributes applied to the certificate. - * @param string $filter A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* exemptionNumber, status, ecmsId, ecmsStatus, pdf, pages + * @param string $filter A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* exemptionNumber, status, ecmStatus, ecmsId, ecmsStatus, pdf, pages * @param int $top If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. * @param int $skip If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. * @param string $orderBy A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -3149,7 +3149,7 @@ public function listValidCertificatesForCustomer($companyId, $customerCode, $cou * * @param int $companyId The unique ID number of the company that recorded this customer * @param string $include OPTIONAL - You can specify the value `certificates` to fetch information about certificates linked to the customer. - * @param string $filter A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* shipTos + * @param string $filter A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/). * @param int $top If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. * @param int $skip If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. * @param string $orderBy A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`. @@ -6669,6 +6669,7 @@ public function listItemParameters($companyId, $itemId, $filter=null, $top=null, * * Classifications * * Tags * * Properties + * * TaxCodeRecommendationStatus * * ### Security Policies * @@ -6676,7 +6677,7 @@ public function listItemParameters($companyId, $itemId, $filter=null, $top=null, * Swagger Name: AvaTaxClient * * @param int $companyId The ID of the company that defined these items - * @param string $filter A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus + * @param string $filter A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus, taxCodeRecommendations * @param string $include A comma separated list of additional data to retrieve. * @param int $top If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. * @param int $skip If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. @@ -6715,7 +6716,7 @@ public function listItemsByCompany($companyId, $filter=null, $include=null, $top * * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser. * Swagger Name: AvaTaxClient * - * @param string $filter A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus + * @param string $filter A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus, taxCodeRecommendations * @param string $include A comma separated list of additional data to retrieve. * @param int $top If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. * @param int $skip If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. @@ -6790,7 +6791,7 @@ public function queryItemsBySystemCode($companyId, $systemCode, $top=null, $skip * * @param int $companyId The ID of the company that defined these items. * @param string $tag The master tag to be associated with item. - * @param string $filter A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus + * @param string $filter A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
*Not filterable:* taxCode, source, sourceEntityId, itemType, upc, summary, classifications, parameters, tags, properties, itemStatus, taxCodeRecommendationStatus, taxCodeRecommendations * @param string $include A comma separated list of additional data to retrieve. * @param int $top If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records. * @param int $skip If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets. @@ -6892,13 +6893,14 @@ public function syncItems($companyId, $model) { * * @param int $companyId The ID of the company that this item belongs to. * @param int $id The ID of the item you wish to update + * @param boolean $isRecommendationSelected If true then Set recommendation status to RecommendationSelected * @param ItemModel $model The item object you wish to update. * @return \stdClass */ - public function updateItem($companyId, $id, $model) { + public function updateItem($companyId, $id, $isRecommendationSelected, $model) { $path = "/api/v2/companies/{$companyId}/items/{$id}"; $guzzleParams = [ - 'query' => [], + 'query' => ['isRecommendationSelected' => null === $isRecommendationSelected ? null : json_encode($isRecommendationSelected)], 'body' => json_encode($model) ]; return $this->restCall($path, 'PUT', $guzzleParams, AVATAX_SDK_VERSION ); diff --git a/src/Models.php b/src/Models.php index 2199a37..1069a8c 100644 --- a/src/Models.php +++ b/src/Models.php @@ -430,6 +430,49 @@ class ActivateAccountModel */ public $haveReadAvalaraTermsAndConditions; } +/** + * Certificate with exemption reason and exposure zone. Exposed in url $includes + * Swagger Name: AvaTaxClient + */ +class ActiveCertificateModel +{ + /** + * @var int Certificate ID. + */ + public $id; + /** + * @var string Created date time + */ + public $created; + /** + * @var string Modified date time + */ + public $modified; + /** + * @var string Certificate's expected tax number + */ + public $expectedTaxNumber; + /** + * @var string Certificate's actual tax number + */ + public $actualTaxNumber; + /** + * @var ExposureZoneModel + */ + public $exposureZone; + /** + * @var ExemptionReasonModel + */ + public $expectedTaxCode; + /** + * @var ExemptionReasonModel + */ + public $actualTaxCode; + /** + * @var CertificateModel + */ + public $certificate; +} /** * Model to add specific lines to exising transaction * Swagger Name: AvaTaxClient @@ -1012,6 +1055,49 @@ class ApproveFilingsModel */ public $approve; } +/** + * + * Swagger Name: AvaTaxClient + */ +class AssociatedObjectDeletedErrorDetailsModel +{ + /** + * @var string (See ErrorCodeId::* for a list of allowable values) + */ + public $code; + /** + * @var int + */ + public $number; + /** + * @var string + */ + public $message; + /** + * @var string + */ + public $description; + /** + * @var string + */ + public $faultCode; + /** + * @var string + */ + public $faultSubCode; + /** + * @var string + */ + public $helpLink; + /** + * @var string + */ + public $refersTo; + /** + * @var string (See SeverityLevel::* for a list of allowable values) + */ + public $severity; +} /** * * Swagger Name: AvaTaxClient @@ -1732,6 +1818,56 @@ class CertificateAttributeModel */ public $isSystemCode; } +/** + * Invalid reason for the certificate + * Swagger Name: AvaTaxClient + */ +class CertificateInvalidReasonModel +{ + /** + * @var int + */ + public $id; + /** + * @var string + */ + public $name; + /** + * @var string + */ + public $description; + /** + * @var boolean + */ + public $systemCode; +} +/** + * certificate log for a customer. Exposed in url $includes + * Swagger Name: AvaTaxClient + */ +class CertificateLogModel +{ + /** + * @var int Log ID + */ + public $id; + /** + * @var int Certificate ID + */ + public $certificateId; + /** + * @var string Account name + */ + public $account; + /** + * @var string Log description + */ + public $entry; + /** + * @var string Date of creation for log entry + */ + public $created; +} /** * A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document * can contain information about a customer's eligibility for exemption from sales or use taxes based on @@ -1797,6 +1933,10 @@ class CertificateModel * @var string The status of the certificate */ public $status; + /** + * @var string The status of the certificate as displayed on https://exemptions.avalara.com. Can take values (See CertificateEcmStatus::* for a list of allowable values) + */ + public $ecmStatus; /** * @var string The date/time when this record was created. */ @@ -1833,6 +1973,26 @@ class CertificateModel * @var CertificateAttributeModel[] A list of certificate attributes that apply to this certificate. You can fetch this data by specifying `$include=attributes` when calling a certificate fetch API. */ public $attributes; + /** + * @var HistoryModel[] A list of certificate update histories for this certificate. You can fetch this data by specifying `$include=histories` when calling a certificate fetch API. + */ + public $histories; + /** + * @var CustomerJobModel[] A list of certificate update histories for this certificate. You can fetch this data by specifying `$include=jobs` when calling a certificate fetch API. + */ + public $jobs; + /** + * @var CertificateLogModel[] A list of certificate logs for this certificate. You can fetch this data by specifying `$include=logs` when calling a certificate fetch API. + */ + public $logs; + /** + * @var CertificateInvalidReasonModel[] A list of invalid reasons if the certificate status is not valid You can fetch this data by specifying `$include=invalid_reasons` when calling a certificate fetch API. + */ + public $invalidReasons; + /** + * @var CustomFieldModel[] A list of custom defined fields for this certificate You can fetch this data by specifying `$include=custom_fields` when calling a certificate fetch API. + */ + public $customFields; /** * @var int The unique ID number of current AvaTax Exemption Certificate that refers this certificate. */ @@ -3289,6 +3449,29 @@ class CountryCoefficientsResponseModel */ public $message; } +/** + * Defines a country as known to Avalara's certificate management system. + * Swagger Name: AvaTaxClient + */ +class CountryModel +{ + /** + * @var int The unique ID number of this country as defined in Avalara's certificate management system. + */ + public $id; + /** + * @var string The name of this country in US English. + */ + public $name; + /** + * @var string The three-character ISO 3166 code for this country. + */ + public $initials; + /** + * @var string The two-character ISO 3166 code for this country. + */ + public $abbreviation; +} /** * The CoverLetter model represents a message sent along with an invitation to use CertExpress to * upload certificates. An invitation allows customers to use CertExpress to upload their exemption @@ -3480,7 +3663,7 @@ class CreateMultiDocumentModel */ public $taxOverride; /** - * @var string The three-character ISO 4217 currency code for this transaction. + * @var string The three-character ISO 4217 currency code representing the ‘invoice currency’ (the currency the transaction was invoiced in). If this is different than the currency the tax liability needs to be reported in, you’ll also need to provide the `exchangeRateCurrencyCode` and the `exchangeRate` for conversion to the reporting country. */ public $currencyCode; /** @@ -3488,7 +3671,7 @@ class CreateMultiDocumentModel */ public $serviceMode; /** - * @var float Currency exchange rate from this transaction to the company base currency. This only needs to be set if the transaction currency is different than the company base currency. It defaults to 1.0. + * @var float The currency exchange rate from the invoice currency (`currencyCode`) to the reporting currency (`exchangeRateCurrencyCode`). This only needs to be set if the invoice currency and the reporting currency are different. It defaults to 1.0. */ public $exchangeRate; /** @@ -3496,7 +3679,7 @@ class CreateMultiDocumentModel */ public $exchangeRateEffectiveDate; /** - * @var string Optional three-character ISO 4217 reporting exchange rate currency code for this transaction. The default value is USD. + * @var string The three-character ISO 4217 currency code representing the ‘reporting currency’ (the currency the transaction’s tax liability needs to be reported in). You can leave this blank if the invoice currency provided in the `currencyCode` field is also the reporting currency. */ public $exchangeRateCurrencyCode; /** @@ -3758,7 +3941,7 @@ class CreateTransactionModel */ public $taxOverride; /** - * @var string The three-character ISO 4217 currency code for this transaction. + * @var string The three-character ISO 4217 currency code representing the ‘invoice currency’ (the currency the transaction was invoiced in). If this is different than the currency the tax liability needs to be reported in, you’ll also need to provide the `exchangeRateCurrencyCode` and the `exchangeRate` for conversion to the reporting country. */ public $currencyCode; /** @@ -3766,7 +3949,7 @@ class CreateTransactionModel */ public $serviceMode; /** - * @var float Currency exchange rate from this transaction to the company base currency. This only needs to be set if the transaction currency is different than the company base currency. It defaults to 1.0. + * @var float The currency exchange rate from the invoice currency (`currencyCode`) to the reporting currency (`exchangeRateCurrencyCode`). This only needs to be set if the invoice currency and the reporting currency are different. It defaults to 1.0. */ public $exchangeRate; /** @@ -3774,7 +3957,7 @@ class CreateTransactionModel */ public $exchangeRateEffectiveDate; /** - * @var string Optional three-character ISO 4217 reporting exchange rate currency code for this transaction. The default value is USD. + * @var string The three-character ISO 4217 currency code representing the ‘reporting currency’ (the currency the transaction’s tax liability needs to be reported in). You can leave this blank if the invoice currency provided in the `currencyCode` field is also the reporting currency. */ public $exchangeRateCurrencyCode; /** @@ -3844,10 +4027,30 @@ class CurrencyModel */ class CustomFieldModel { + /** + * @var int Custom field ID + */ + public $id; /** * @var string The name of the custom field. */ public $name; + /** + * @var string Custom field type + */ + public $type; + /** + * @var string + */ + public $possibleValues; + /** + * @var boolean Custom field uses data entry or not? + */ + public $usesDataEntry; + /** + * @var boolean Custom field is required in data entry or not? + */ + public $requiredInDataEntry; /** * @var string The value of the custom field. */ @@ -3885,6 +4088,25 @@ class CustomerAttributeModel */ public $isChangeable; } +/** + * Customer job model. Exposed in url $includes + * Swagger Name: AvaTaxClient + */ +class CustomerJobModel +{ + /** + * @var int ID + */ + public $id; + /** + * @var int Job number + */ + public $jobNumber; + /** + * @var string Job name + */ + public $name; +} /** * Represents a customer to whom you sell products and/or services. * Swagger Name: AvaTaxClient @@ -3991,6 +4213,10 @@ class CustomerModel * @var ExposureZoneModel[] A list of exposure zones where you do business with this customer. To keep track of certificates that are needed for each customer, set this value to a list of all exposure zones where you sell products to this customer. You can find a list of exposure zones by calling `ListExposureZones`. This field is often called "Ship-To States" or "Ship-To Zones", since it generally refers to locations where you ship products when this customer makes a purchase. This field is useful for audit purposes since it helps you ensure you have the necessary certificates for each customer. */ public $exposureZones; + /** + * @var CustomerModel[] A list of bill-to customer records that are connected to this ship-to customer. Customer records represent businesses or individuals who can provide exemption certificates. Some customers may have certificates that are linked to their shipping address or their billing address. To group these customer records together, you may link multiple bill-to and ship-to addresses together to represent a single entity that has multiple different addresses of different kinds. + */ + public $billTos; /** * @var CustomerModel[] A list of ship-to customer records that are connected to this bill-to customer. Customer records represent businesses or individuals who can provide exemption certificates. Some customers may have certificates that are linked to their shipping address or their billing address. To group these customer records together, you may link multiple bill-to and ship-to addresses together to represent a single entity that has multiple different addresses of different kinds. */ @@ -3999,6 +4225,26 @@ class CustomerModel * @var CustomerAttributeModel[] A list of attributes that apply to this customer. You can fetch this data by specifying `$include=attributes` when calling a customer fetch API. */ public $attributes; + /** + * @var ActiveCertificateModel[] List if active certificates with exemption reasons + */ + public $activeCertificates; + /** + * @var HistoryModel[] List of field update histories for this customer + */ + public $histories; + /** + * @var CustomerJobModel[] List of jobs for this customer + */ + public $jobs; + /** + * @var CertificateLogModel[] List of logs for this customer + */ + public $logs; + /** + * @var StateModel[] List of states where this customer ships to + */ + public $shipToStates; } /** * Represents a parameter associated with a company. @@ -7383,6 +7629,37 @@ class GLAccountUploadErrorModel */ public $errors; } +/** + * Update history for Avalara.AvaTax.AccountServices.Models.v2.CustomerModel and Avalara.AvaTax.AccountServices.Models.v2.CertificateModel. Exposed in url $includes + * Swagger Name: AvaTaxClient + */ +class HistoryModel +{ + /** + * @var int ID + */ + public $id; + /** + * @var string Account name whose history this is + */ + public $account; + /** + * @var string Field name which is updated + */ + public $field; + /** + * @var string Old value of the field + */ + public $oldValue; + /** + * @var string New value of the field + */ + public $newValue; + /** + * @var string Date of creation of this history object + */ + public $created; +} /** * * Swagger Name: AvaTaxClient @@ -7868,6 +8145,10 @@ class ItemModel * @var TaxCodeRecommendationStatusOutputModel */ public $taxCodeRecommendationStatus; + /** + * @var TaxCodeRecommendationOutputModel[] Item tax code recommendations + */ + public $taxCodeRecommendations; } /** * Represents a parameter associated with an item. @@ -10983,6 +11264,49 @@ class NotificationModel */ public $modifiedDate; } +/** + * + * Swagger Name: AvaTaxClient + */ +class ObjectDeletedErrorModel +{ + /** + * @var string (See ErrorCodeId::* for a list of allowable values) + */ + public $code; + /** + * @var int + */ + public $number; + /** + * @var string + */ + public $message; + /** + * @var string + */ + public $description; + /** + * @var string + */ + public $faultCode; + /** + * @var string + */ + public $faultSubCode; + /** + * @var string + */ + public $helpLink; + /** + * @var string + */ + public $refersTo; + /** + * @var string (See SeverityLevel::* for a list of allowable values) + */ + public $severity; +} /** * Gets the response for the offer request * Swagger Name: AvaTaxClient @@ -12167,6 +12491,33 @@ class SkyscraperStatusModel */ public $requiredFilingCalendarDataFields; } +/** + * Defines a state, region, or province as known to Avalara's certificate management system. + * Swagger Name: AvaTaxClient + */ +class StateModel +{ + /** + * @var int A unique ID number that represents this state, region, or province. + */ + public $id; + /** + * @var string The state, region, or province name as known in US English. + */ + public $name; + /** + * @var string The abbreviated two or three character ISO 3166 state, province, or region code. + */ + public $initials; + /** + * @var int A geocoding identification number for this state + */ + public $geoCode; + /** + * @var CountryModel + */ + public $country; +} /** * Represents a service that this account has subscribed to. * Swagger Name: AvaTaxClient @@ -12419,34 +12770,34 @@ class TaxCodeModel public $modifiedUserId; } /** - * Output model for item tax code recommendation status + * Tax Code Recommendation Output Model * Swagger Name: AvaTaxClient */ -class TaxCodeRecommendationStatusOutputModel +class TaxCodeRecommendationOutputModel { /** - * @var string Recommendation status + * @var string Recommended TaxCode */ - public $status; + public $taxCode; /** - * @var string Status message + * @var string Recommended TaxCode Level */ - public $message; + public $level; } /** - * Tax Code Recommendation Output Model + * Output model for item tax code recommendation status * Swagger Name: AvaTaxClient */ -class TaxCodeRecommendationsOutputModel +class TaxCodeRecommendationStatusOutputModel { /** - * @var string Recommended TaxCode + * @var string Recommendation status */ - public $taxCode; + public $status; /** - * @var string Recommended TaxCode Level + * @var string Status message */ - public $level; + public $message; } /** * Information about Avalara-defined tax code types. @@ -13396,7 +13747,7 @@ class TransactionLineDetailModel */ public $isNonPassThru; /** - * @var boolean The Taxes/Fee component. True if the fee is applied. + * @var boolean The Taxes/Fee component. True if the fee is applied. When `isFee` is `false`, this represents a tax rate percentage. For example, `"rate": 0.022500` represents a 2.25% tax rate. When `isFee` is `true`, this represents a specific monetary amount. For example, for `"currencyCode": "USD"` and `"isFee": true`, the `"rate": 15` represents a fee of $15.00 USD. */ public $isFee; /** @@ -13797,11 +14148,11 @@ class TransactionModel */ public $batchCode; /** - * @var string The three-character ISO 4217 currency code that was used for payment for this transaction. + * @var string The three-character ISO 4217 currency code representing the ‘invoice currency’ (the currency the transaction was invoiced in). If this is different than the currency the tax liability needs to be reported in, you’ll also need to provide the `exchangeRateCurrencyCode` and the `exchangeRate` for conversion to the reporting country. */ public $currencyCode; /** - * @var string The three-character ISO 4217 exchange rate currency code that was used for payment for this transaction. + * @var string The three-character ISO 4217 currency code representing the ‘reporting currency’ (the currency the transaction’s tax liability needs to be reported in). You can leave this blank if the invoice currency provided in the `currencyCode` field is also the reporting currency. */ public $exchangeRateCurrencyCode; /** @@ -13925,7 +14276,7 @@ class TransactionModel */ public $exchangeRateEffectiveDate; /** - * @var float If this transaction included foreign currency exchange, this is the exchange rate that was used. + * @var float The currency exchange rate from the invoice currency (`currencyCode`) to the reporting currency (`exchangeRateCurrencyCode`). This only needs to be set if the invoice currency and the reporting currency are different. It defaults to 1.0. */ public $exchangeRate; /**