code: public final TaxDestination revealTaxRules(final Map<String, Object> pReqVars,
      final IInvoice pInv, final AccSettings pAs,
        final Boolean pIsExtrTx) throws Exception {
      TaxDestination txRules = null;
      if (pIsExtrTx && !pInv.getOmitTaxes()
        && !pInv.getCustomer().getIsForeigner()) {
        if (pInv.getCustomer().getTaxDestination() != null) {
          //override tax method:
          txRules = pInv.getCustomer().getTaxDestination();
        } else {
          txRules = new TaxDestination();
          txRules.setSalTaxIsInvoiceBase(pAs.getSalTaxIsInvoiceBase());
          txRules.setSalTaxUseAggregItBas(pAs.getSalTaxUseAggregItBas());
          txRules.setSalTaxRoundMode(pAs.getSalTaxRoundMode());
        }
      }
      return txRules;
    }
docs: <p>Reveal shared tax rules for invoice..</p>
  @param pReqVars request scoped vars
  @param pInv invoice
  @param pAs Accounting Settings
  @param pIsExtrTx if extract taxes
  @return tax rules, NULL if not taxable
  @throws Exception - an exception.