Magento 2.3.3 Fails on magento setup:di:compile with an error mentioning InvoiceFlexFieldProcessorInterface

Go to Below File

/vendor/vertex/module-tax/Model/FlexField/Processor/OrderCurrencyGetterProcessor.php

At the end of the "use" clauses in

add the following two lines:

use Vertex\Tax\Model\FlexField\Processor\InvoiceFlexFieldProcessorInterface;
use Vertex\Tax\Model\FlexField\Processor\TaxCalculationFlexFieldProcessorInterface;

and run again below command

php bin/magento setup:di:compile

I run into the same problem. It seems only a speeling problem: https://github.com/magento/magento2/issues/24930#issuecomment-543949135

So it is better to change only the namespace spelling without adding the two use-lines:

namespace Vertex\Tax\Model\FlexField\Processor;

FlexField instead of Flexfield

It could make a difference for external functions that use this class.


If like me you can't edit the file (because our CD will fail) follow these steps:

  1. In the root of your project, create a directory patches/composer
  2. Create a file called vendor-vertex-compilation-issue.diff
  3. In your composer.json add this to the list of "require" "cweagans/composer-patches": "1.6.7"
  4. Still in your composer.json add this to the extras
       "patches": {
           "vertex/module-tax":{
               "MAGETWO: vendor vertex compilation issue": "patches/composer/vendor-vertex-compilation-issue.diff"
           }
       }
  1. Put the following content into the vendor-vertex-compilation-issue.diff file that you created earlier
diff --git a/Model/FlexField/Processor/OrderCurrencyGetterProcessor.php b/Model/FlexField/Processor/OrderCurrencyGetterProcessor.php
index 6fb4944..86a66f4 100644
--- a/Model/FlexField/Processor/OrderCurrencyGetterProcessor.php
+++ b/Model/FlexField/Processor/OrderCurrencyGetterProcessor.php
@@ -4,7 +4,7 @@
  * @author     Mediotype                     https://www.mediotype.com/
  */

-namespace Vertex\Tax\Model\Flexfield\Processor;
+namespace Vertex\Tax\Model\FlexField\Processor;

 use Magento\Framework\Exception\NoSuchEntityException;
 use Magento\Quote\Api\CartRepositoryInterface;
  1. run composer install

This should install the vertex module and apply the patch to the module and then you can go on with compiling Magento as you normally would

UPDATE

As of Magento 2.3.4, the vertex/module-tax has been upgraded to 3.3.0 (from 3.2.0) and the issue is corrected and the patch no longer needed