The CalcTaxes request has numerous fields, but only a handful of the objects and fields are required by Communications REST v2.
The Company Data object (cmpn) is required.  These fields are required in CompanyData:
| Key | Name | 
|---|---|
bscl |         Business Class | 
svcl |         Service Class | 
fclt |         Facilities | 
reg |         Regulated | 
The Exclusion object (excl) is not required.  If you do use the Exclusion object, these fields are required:
| Key | Name | 
|---|---|
ctry |         Country | 
excl |         Exclusion On | 
At least 1 instance of the Invoice object (inv) is required.  These fields are required in Invoice:
| Key | Name | 
|---|---|
bill |         Bill To Location | 
cust |         Customer Type | 
date |         Invoice Date | 
doc |         Document Code                Required only if Commit (cmmt) is set to true         |       
itms |         LineItem object | 
At least 1 instance of the LineItem object (itms) is required in each Invoice object (inv).  These fields are required in LineItem:
| Key | Name | 
|---|---|
sale |         Sale | 
tran |         Transaction Type | 
serv |         Service Type | 
The Exemption object (exms) is not required.  If you do use the Exemption object, these fields are required:
| Key | Name | ||||||
|---|---|---|---|---|---|---|---|
loc |         Location | ||||||
tpe or cat |         Tax Type or Tax Category (choose one)                        If Tax Type, one of these is required:        
  |       
The TaxOverride object (ovr) is not required.  If you do use the Tax Override object, these fields are required:
| Key | Name | 
|---|---|
loc |         Location | 
scp |         Scope | 
tid |         Tax Type ID | 
lvl |         Tax Level ID | 
brkt |         Tax Bracket object | 
These fields are required in the TaxBracket object (brkt):
| Key | Name | 
|---|---|
rate |         Rate | 
max |         Max Base | 
The SafeHarborOverride object (sovr) is not required.  If you do use the Safe Harbor Override object, these fields are required:
| Key | Name | 
|---|---|
sh |         Safe Harbor Type | 
old |         Original Federal TAM | 
new |         New Federal TAM | 
Location is used by the following objects:
bill) in Company Dataloc) in Exemptionsfrom) and To (to) in Line Itemloc) in Tax OverrideOnly one of these fields is required in a Location object:
| Key | Name | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
pcd |         PCode | ||||||||||
fips |         FIPS | ||||||||||
npa |         NPANXX | ||||||||||
geo |         Geocoded Street Address                        These fields are required when geo is true:        
  |