diff --git a/vendor/magento/module-company/Controller/Adminhtml/Index/AddUser.php b/vendor/magento/module-company/Controller/Adminhtml/Index/AddUser.php
index 1eefc92d374e..5c1192d51b1b 100644
--- a/vendor/magento/module-company/Controller/Adminhtml/Index/AddUser.php
+++ b/vendor/magento/module-company/Controller/Adminhtml/Index/AddUser.php
@@ -5,7 +5,11 @@
  */
 namespace Magento\Company\Controller\Adminhtml\Index;

+use Magento\Customer\Model\Customer;
+use Magento\Customer\Model\CustomerRegistry;
+use Magento\Customer\Model\FileUploaderDataResolver;
 use Magento\Framework\App\Action\HttpGetActionInterface as HttpGetActionInterface;
+use Magento\Framework\App\ObjectManager;
 use Magento\Framework\Exception\LocalizedException;
 use Magento\Framework\Exception\NoSuchEntityException;
 use Magento\Framework\Controller\ResultFactory;
@@ -29,22 +33,40 @@ class AddUser extends \Magento\Backend\App\Action implements HttpGetActionInterf
     /** @var \Psr\Log\LoggerInterface */
     protected $logger;

+    /**
+     * @var CustomerRegistry
+     */
+    private $customerRegistry;
+
+    /**
+     * @var FileUploaderDataResolver
+     */
+    private $fileUploaderDataResolver;
+
     /**
      * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Company\Model\CustomerRetriever $customerRetriever
      * @param \Magento\Company\Api\CompanyManagementInterface $companyManagement
      * @param \Psr\Log\LoggerInterface $logger
+     * @param CustomerRegistry|null $customerFactory
+     * @param FileUploaderDataResolver|null $fileUploaderDataResolver
      */
     public function __construct(
         \Magento\Backend\App\Action\Context $context,
         \Magento\Company\Model\CustomerRetriever $customerRetriever,
         \Magento\Company\Api\CompanyManagementInterface $companyManagement,
-        \Psr\Log\LoggerInterface $logger
+        \Psr\Log\LoggerInterface $logger,
+        ?CustomerRegistry $customerRegistry = null,
+        ?FileUploaderDataResolver $fileUploaderDataResolver = null
     ) {
         parent::__construct($context);
         $this->customerRetriever = $customerRetriever;
         $this->companyManagement = $companyManagement;
         $this->logger = $logger;
+        $this->customerRegistry = $customerRegistry ??
+            ObjectManager::getInstance()->get(CustomerRegistry::class);
+        $this->fileUploaderDataResolver = $fileUploaderDataResolver ??
+            ObjectManager::getInstance()->get(FileUploaderDataResolver::class);
     }

     /**
@@ -161,7 +183,7 @@ private function getCustomerData(CustomerInterface $customer)
             $isActive = $customer->getExtensionAttributes()->getCompanyAttributes()->getStatus();
         }

-        return [
+        $result = [
             'customer' => $customer->getId(),
             'firstname' => $customer->getFirstname(),
             'prefix' => $customer->getPrefix(),
@@ -174,5 +196,14 @@ private function getCustomerData(CustomerInterface $customer)
             'is_active' => boolval($isActive),
             'website_id' => $customer->getWebsiteId()
         ];
+        $customAttributes = $customer->getCustomAttributes();
+        foreach ($customAttributes as $attribute) {
+            $result[$attribute->getAttributeCode()] = $attribute->getValue();
+        }
+        /** @var Customer $customerEntity */
+        $customerEntity = $this->customerRegistry->retrieve($customer->getId());
+        $this->fileUploaderDataResolver->overrideFileUploaderData($customerEntity, $result);
+
+        return $result;
     }
 }
diff --git a/vendor/magento/module-company/Controller/Adminhtml/Index/Save.php b/vendor/magento/module-company/Controller/Adminhtml/Index/Save.php
index 5fd2d733f3be..4de96a41f88c 100644
--- a/vendor/magento/module-company/Controller/Adminhtml/Index/Save.php
+++ b/vendor/magento/module-company/Controller/Adminhtml/Index/Save.php
@@ -117,8 +117,8 @@ public function execute()
             $companyData = ['companyName' => $company->getCompanyName()];
             $this->messageManager->addSuccessMessage(
                 $id
-                ? __('You have saved company %companyName.', $companyData)
-                : __('You have created company %companyName.', $companyData)
+                    ? __('You have saved company %companyName.', $companyData)
+                    : __('You have created company %companyName.', $companyData)
             );
             $returnToEdit = (bool)$this->getRequest()->getParam('back', false);
         } catch (\Magento\Framework\Exception\LocalizedException $e) {
diff --git a/vendor/magento/module-company/Model/Company/DataProvider.php b/vendor/magento/module-company/Model/Company/DataProvider.php
index bc015ad0a6aa..1a4c16872406 100644
--- a/vendor/magento/module-company/Model/Company/DataProvider.php
+++ b/vendor/magento/module-company/Model/Company/DataProvider.php
@@ -11,8 +11,12 @@
 use Magento\Customer\Api\CustomerRepositoryInterface;
 use Magento\Customer\Api\Data\CustomerInterface;
 use Magento\Customer\Model\AttributeMetadataResolver;
+use Magento\Customer\Model\Customer;
+use Magento\Customer\Model\CustomerRegistry;
+use Magento\Customer\Model\FileUploaderDataResolver;
 use Magento\Framework\Api\ExtensionAttribute\JoinProcessorInterface;
 use Magento\Eav\Model\Config;
+use Magento\Framework\App\ObjectManager;
 use Magento\Framework\Exception\LocalizedException;
 use Magento\Framework\Exception\NoSuchEntityException;
 use Magento\Ui\DataProvider\AbstractDataProvider;
@@ -107,6 +111,16 @@ class DataProvider extends AbstractDataProvider
      */
     private $attributeMetadataResolver;

+    /**
+     * @var CustomerRegistry
+     */
+    private $customerRegistry;
+
+    /**
+     * @var FileUploaderDataResolver
+     */
+    private $fileUploaderDataResolver;
+
     /**
      * @param string $name
      * @param string $primaryFieldName
@@ -118,6 +132,8 @@ class DataProvider extends AbstractDataProvider
      * @param AttributeMetadataResolver $attributeMetadataResolver
      * @param array $meta [optional]
      * @param array $data [optional]
+     * @param CustomerRegistry|null $customerRegistry
+     * @param FileUploaderDataResolver|null $fileUploaderDataResolver
      * @throws \LogicException
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
@@ -131,7 +147,9 @@ public function __construct(
         Config $eavConfig,
         AttributeMetadataResolver $attributeMetadataResolver,
         array $meta = [],
-        array $data = []
+        array $data = [],
+        ?CustomerRegistry $customerRegistry = null,
+        ?FileUploaderDataResolver $fileUploaderDataResolver = null
     ) {
         parent::__construct($name, $primaryFieldName, $requestFieldName, $meta, $data);
         $this->collection = $companyCollectionFactory->create();
@@ -139,6 +157,10 @@ public function __construct(
         $this->customerRepository = $customerRepository;
         $this->eavConfig = $eavConfig;
         $this->attributeMetadataResolver = $attributeMetadataResolver;
+        $this->customerRegistry = $customerRegistry ??
+            ObjectManager::getInstance()->get(CustomerRegistry::class);
+        $this->fileUploaderDataResolver = $fileUploaderDataResolver ??
+            ObjectManager::getInstance()->get(FileUploaderDataResolver::class);
     }

     /**
@@ -223,6 +245,10 @@ public function getCompanyAdminData(CompanyInterface $company)
                 $data[$attribute->getAttributeCode()] = $attribute->getValue();
             }
         }
+        /** @var Customer $customerEntity */
+        $customerEntity = $this->customerRegistry->retrieve($company->getSuperUserId());
+        $this->fileUploaderDataResolver->overrideFileUploaderData($customerEntity, $data);
+
         return $data;
     }

diff --git a/vendor/magento/module-company/Model/CompanySuperUserGet.php b/vendor/magento/module-company/Model/CompanySuperUserGet.php
index b6b229e081a7..68894fb1e94e 100644
--- a/vendor/magento/module-company/Model/CompanySuperUserGet.php
+++ b/vendor/magento/module-company/Model/CompanySuperUserGet.php
@@ -9,9 +9,13 @@
 use Magento\Company\Api\Data\CompanyCustomerInterface;
 use Magento\Company\Model\Customer\CompanyAttributes;
 use Magento\Customer\Api\AccountManagementInterface;
+use Magento\Customer\Api\CustomerMetadataInterface;
 use Magento\Customer\Api\CustomerRepositoryInterface;
 use Magento\Customer\Api\Data\CustomerInterface;
 use Magento\Customer\Api\Data\CustomerInterfaceFactory;
+use Magento\Customer\Model\Customer\Mapper;
+use Magento\Customer\Model\Metadata\Form;
+use Magento\Customer\Model\Metadata\FormFactory;
 use Magento\Framework\Api\DataObjectHelper;
 use Magento\Framework\Exception\LocalizedException;

@@ -50,6 +54,16 @@ class CompanySuperUserGet
      */
     private $customerRetriever;

+    /**
+     * @var FormFactory
+     */
+    private $customerFormFactory;
+
+    /**
+     * @var Mapper
+     */
+    private $customerMapper;
+
     /**
      * @param CompanyAttributes $companyAttributes
      * @param CustomerRepositoryInterface $customerRepository
@@ -57,6 +71,8 @@ class CompanySuperUserGet
      * @param DataObjectHelper $dataObjectHelper
      * @param AccountManagementInterface $accountManagement
      * @param CustomerRetriever $customerRetriever
+     * @param FormFactory $customerFormFactory
+     * @param Mapper $customerMapper
      */
     public function __construct(
         CompanyAttributes $companyAttributes,
@@ -64,7 +80,9 @@ public function __construct(
         CustomerInterfaceFactory $customerDataFactory,
         DataObjectHelper $dataObjectHelper,
         AccountManagementInterface $accountManagement,
-        CustomerRetriever $customerRetriever
+        CustomerRetriever $customerRetriever,
+        FormFactory $customerFormFactory,
+        Mapper $customerMapper
     ) {
         $this->companyAttributes = $companyAttributes;
         $this->customerRepository = $customerRepository;
@@ -72,6 +90,8 @@ public function __construct(
         $this->dataObjectHelper = $dataObjectHelper;
         $this->accountManagement = $accountManagement;
         $this->customerRetriever = $customerRetriever;
+        $this->customerFormFactory = $customerFormFactory;
+        $this->customerMapper = $customerMapper;
     }

     /**
@@ -106,7 +126,7 @@ public function getUserForCompanyAdmin(array $data): CustomerInterface
         if (!$customer) {
             $customer = $this->customerDataFactory->create();
         }
-
+        $data = $this->extractCustomerData($data, $customer);
         $this->dataObjectHelper->populateWithArray(
             $customer,
             $data,
@@ -140,4 +160,43 @@ public function getUserForCompanyAdmin(array $data): CustomerInterface

         return $customer;
     }
+
+    /**
+     * Extract customer data from request
+     *
+     * @param array $data
+     * @param CustomerInterface $customer
+     *
+     * @return array
+     */
+    private function extractCustomerData(array $data, CustomerInterface $customer): array
+    {
+        $metadataForm = $this->getMetadataForm($customer);
+        $customerRequest = $metadataForm->prepareRequest($data);
+        $formData = $metadataForm->extractData($customerRequest);
+
+        return $metadataForm->compactData($formData);
+    }
+
+    /**
+     * Get metadata form for company admin
+     *
+     * @param CustomerInterface $customer
+     *
+     * @return Form
+     */
+    private function getMetadataForm(CustomerInterface $customer)
+    {
+        $attributeValues = [];
+        if ($customer->getId()) {
+            $attributeValues = $this->customerMapper->toFlatArray($customer);
+        }
+
+        return $this->customerFormFactory->create(
+            CustomerMetadataInterface::ENTITY_TYPE_CUSTOMER,
+            'adminhtml_customer',
+            $attributeValues,
+            false
+        );
+    }
 }
