I have looked over a few tutorials on how to add a customer attribute to the customer edit page within admin. 

- http://www.extensions.sashas.org/blog/magento-2-make-customer-attribute.html
- https://magento.stackexchange.com/questions/88245/magento-2-how-to-create-a-customer-custom-attribute
- https://magento.stackexchange.com/questions/153532/how-to-add-dropdown-attribute-to-custom-module-in-magento-2-0/153539

This however does not seem to be working completely for me. I added the below to my **InstallData.php** file:

	public function install(ModuleDataSetupInterface $setup, ModuleContextInterface $context) {

		$customerSetup = $this->customerSetupFactory->create(['setup' => $setup]);

		$customerEntity = $customerSetup->getEavConfig()->getEntityType('customer');
		$attributeSetId = $customerEntity->getDefaultAttributeSetId();

		$attributeSet = $this->attributeSetFactory->create();
		$attributeGroupId = $attributeSet->getDefaultGroupId($attributeSetId);

		$customerSetup->addAttribute(Customer::ENTITY, 'cp_permissions', [
			'type' => 'text',
			'label' => 'Account Type',
			'input' => 'select',
			'source' => 'Magento\Eav\Model\Entity\Attribute\Source\Table',
			'required' => false,
			'visible' => true,
			'user_defined' => true,
			'sort_order' => 101,
			'position' => 101,
			'system' => 0,
			'option' =>
				array (
					'values' =>
						array (
							0 => 'Master',
							1 => 'Branch'
						),
				),
		]);

		$attribute = $customerSetup->getEavConfig()->getAttribute(Customer::ENTITY, 'cp_permissions')
			->addData([
				'attribute_set_id' => $attributeSetId,
				'attribute_group_id' => $attributeGroupId,
				'used_in_forms' => ['adminhtml_customer'],
			]);

		$attribute->save();

		}
	}


And run `setup:upgrade` to install the plugin. 

I compared my attribute to the gender attribute. Main issues seems to be that, the **source model** wasn't being set and need to work out how to make sure this is set. When i set the source manually it shows up fine however.