{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Company and plan configuration"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"company-and-plan-configuration","__idx":0},"children":["Company and plan configuration"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The company record and the four configuration sections that make up a plan."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"company","__idx":1},"children":["Company"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"message Company {\n  enum HrisProviderType {\n    UNKNOWN_HRIS_PROVIDER_TYPE = 0;\n    DEEL = 1;\n    DEEL_PRISM = 2;\n    PRISM = 3;\n  }\n\n  string uuid = 1;\n  string business_name = 2;\n  optional string business_phone = 3;\n  string email = 4;\n  com.basiccapital.common.external.Address company_address = 5;\n  EntityType entity_type = 6;\n  string ein = 7;\n  optional string state_of_organization = 8;\n  Status status = 9;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["References:"]}," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/company-and-plan#entitytype"},"children":["EntityType"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/company-and-plan#status"},"children":["Status"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"entitytype","__idx":2},"children":["EntityType"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"enum EntityType {\n  UNKNOWN_COMPANY_ENTITY_TYPE = 0;\n  C_CORP = 1;\n  S_CORP = 2;\n  LLC = 3;\n  SOLE_PROPRIETORSHIP = 4;\n  LLP = 5;\n  NON_PROFIT = 6;\n  PARTNERSHIP = 7;\n  ELECTING_CHURCH = 9;\n  OTHER = 10;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"status","__idx":3},"children":["Status"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"enum Status {\n  UNKNOWN_STATUS = 0;\n  ACTIVE = 1;\n  ONBOARDING = 2;\n  CREATED = 3;\n  INACTIVE = 4;\n  LAPSED = 5;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"planconfiguration","__idx":4},"children":["PlanConfiguration"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"message PlanConfiguration {\n  enum Status {\n    UNKNOWN_STATUS = 0;\n    DRAFT = 1;\n    IN_REVIEW = 2;\n    READY_FOR_SUBMISSION = 3;\n    SUBMITTED = 4;\n  }\n\n  ManagementOption management_option = 1;\n  InvestmentConfig investment_config = 2;\n  CoreConfig core_config = 3;\n  optional MigrationConfig plan_migration_info = 4;\n  Status status = 5;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["References:"]}," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/company-and-plan#coreconfig"},"children":["CoreConfig"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/company-and-plan#investmentconfig"},"children":["InvestmentConfig"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/company-and-plan#managementoption"},"children":["ManagementOption"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/company-and-plan#migrationconfig"},"children":["MigrationConfig"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"configurationsectionstatus","__idx":5},"children":["ConfigurationSectionStatus"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"enum ConfigurationSectionStatus {\n  UNKNOWN_CONFIGURATION_SECTION_STATUS = 0;\n  INCOMPLETE = 1;\n  COMPLETE = 2;\n  LOCKED_INCOMPLETE = 3;\n  LOCKED_COMPLETE = 4;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"managementoption","__idx":6},"children":["ManagementOption"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"message ManagementOption {\n  repeated ManagementOptionOffering management_option_offerings = 1;\n  ManagementOptionType type = 2;\n  string summary = 3;\n  ConfigurationSectionStatus status = 4;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["References:"]}," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/company-and-plan#configurationsectionstatus"},"children":["ConfigurationSectionStatus"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/company-and-plan#managementoptionoffering"},"children":["ManagementOptionOffering"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/company-and-plan#managementoptiontype"},"children":["ManagementOptionType"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"managementoptionoffering","__idx":7},"children":["ManagementOptionOffering"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"message ManagementOptionOffering {\n  enum ManagementOptionOfferingType {\n    UNKNOWN = 0;\n    FIDUCIARY_316 = 1;\n    FIDUCIARY_338 = 2;\n    FORM_5500_FILING = 3;\n    CURATED_INVESTMENT_OPTION_SELECTION = 4;\n    ROTH_401K = 5;\n    TRADITIONAL_401K = 6;\n    EMPLOYER_MATCH = 7;\n    SAFE_HARBOR = 8;\n    COMPLIANCE_TESTING = 9;\n    MEGA_BACKDOOR_ROTH = 10;\n    BROKERAGE_WINDOW = 11;\n  }\n\n  ManagementOptionOfferingType type = 1;\n  bool isSupported = 2;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"managementoptiontype","__idx":8},"children":["ManagementOptionType"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"enum ManagementOptionType {\n  UNKNOWN_MANAGEMENT_TYPE = 0;\n  PARTNER_USP_FULLY_MANAGED = 1;\n  PARTNER_USP_EMPLOYER_MANAGED = 2;\n  PARTNER_PEO = 3;\n  PARTNER_IC = 4;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"investmentconfig","__idx":9},"children":["InvestmentConfig"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"message InvestmentConfig {\n  QdiaType qdia = 1;\n  repeated AssetMetadata investment_options = 2;\n  optional ConfigurationSectionStatus status = 3;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["References:"]}," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/accounts-and-investments#assetmetadata"},"children":["AssetMetadata"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/company-and-plan#configurationsectionstatus"},"children":["ConfigurationSectionStatus"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/company-and-plan#qdiatype"},"children":["QdiaType"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"qdiatype","__idx":10},"children":["QdiaType"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"enum QdiaType {\n  UNKNOWN_QDIA_TYPE = 0;\n  FIDELITY = 1;\n  VANGUARD = 2;\n  OTHER_QDIA_TYPE = 3;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"coreconfig","__idx":11},"children":["CoreConfig"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"message CoreConfig {\n  repeated EmployerMatchTier employer_match_tiers = 1;\n  optional bool enable_roth = 2;\n  optional bool enable_plan401K_loans = 3;\n  optional bool enable_mega_backdoor_roth = 4;\n  optional int32 employee_auto_enrollment_bps = 5;\n  optional int32 employee_auto_enrollment_increase_bps = 6;\n  optional Date ideal_start_date = 7;\n  optional EligibilityConfig eligibility_config = 8;\n  ConfigurationSectionStatus status = 9;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["References:"]}," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/company-and-plan#configurationsectionstatus"},"children":["ConfigurationSectionStatus"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/common#date"},"children":["Date"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/company-and-plan#eligibilityconfig"},"children":["EligibilityConfig"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/company-and-plan#employermatchtier"},"children":["EmployerMatchTier"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"eligibilityconfig","__idx":12},"children":["EligibilityConfig"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"message EligibilityConfig {\n  message HoursConfig {\n    int32 hours_required = 1;\n    int32 rolling_period = 2;\n  }\n\n  oneof period {\n    int32 days_since_start = 1;\n    HoursConfig hours_config = 2;\n  }\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"employermatchtier","__idx":13},"children":["EmployerMatchTier"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Notes:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["There cannot ever be a cap that is a partial percent."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["To set up an actual employer match of 3.5% you would need to set up multiple match tiers such as this:",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["match_bps: 10000, match_cap_bps: 300, that is a 100% match up to 3%"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["match_bps: 5000, match_cap_bps: 100, that is 50% match up to the next 1%"]}]}]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"message EmployerMatchTier {\n  int32 match_bps = 1;\n  int32 match_cap_bps = 2;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"migrationconfig","__idx":14},"children":["MigrationConfig"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"message MigrationConfig {\n  string migration_record_keeper = 1;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"knownrecordkeeper","__idx":15},"children":["KnownRecordKeeper"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"message KnownRecordKeeper {\n  string name = 1;\n  optional string logo_url = 2;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"bankaccount","__idx":16},"children":["BankAccount"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"message BankAccount {\n  string bank_account_uuid = 1;\n  string institution_name = 2;\n  string last_4 = 3;\n  bool is_verified = 4;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"trusteeinfo","__idx":17},"children":["TrusteeInfo"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"message TrusteeInfo {\n  string external_id = 1;\n  string email = 2;\n  string given_name = 3;\n  string surname = 4;\n}\n","lang":"protobuf"},"children":[]}]},"headings":[{"value":"Company and plan configuration","id":"company-and-plan-configuration","depth":1},{"value":"Company","id":"company","depth":2},{"value":"EntityType","id":"entitytype","depth":2},{"value":"Status","id":"status","depth":2},{"value":"PlanConfiguration","id":"planconfiguration","depth":2},{"value":"ConfigurationSectionStatus","id":"configurationsectionstatus","depth":2},{"value":"ManagementOption","id":"managementoption","depth":2},{"value":"ManagementOptionOffering","id":"managementoptionoffering","depth":2},{"value":"ManagementOptionType","id":"managementoptiontype","depth":2},{"value":"InvestmentConfig","id":"investmentconfig","depth":2},{"value":"QdiaType","id":"qdiatype","depth":2},{"value":"CoreConfig","id":"coreconfig","depth":2},{"value":"EligibilityConfig","id":"eligibilityconfig","depth":2},{"value":"EmployerMatchTier","id":"employermatchtier","depth":2},{"value":"MigrationConfig","id":"migrationconfig","depth":2},{"value":"KnownRecordKeeper","id":"knownrecordkeeper","depth":2},{"value":"BankAccount","id":"bankaccount","depth":2},{"value":"TrusteeInfo","id":"trusteeinfo","depth":2}],"frontmatter":{"title":"Company and plan configuration","seo":{"title":"Company and plan configuration"}},"lastModified":"2026-10-15T20:28:24.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/core-data-types/company-and-plan","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}