Hi,
You can achieve this in Odoo by using field
visibility conditions based on the is_company boolean field in the
res.partner model.
Sample Code:
Python:
from odoo import fields, models
class ResPartner(models.Model):
_inherit = 'res.partner'
founding_date = fields.Date(string="Founding date")
industry = fields.Char(string="Industry")
XML:
<record id="view_partner_form" model="ir.ui.view">
<field name="name">res.partner.view.form</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='vat']" position="after">
<field name="founding_date" invisible="not is_company"/>
<field name="industry" invisible="not is_company"/>
</xpath>
</field>
</record>
Result:
In Company:

In Individual:

Hope it helps.
This app - https://apps.odoo.com/apps/modules/18.0/partner_custom_fields - lets you add different fields for different custom types. These custom fields are not restricted by the individuals/companies, but you may use your own typology. So, the app might be helpful to your goals.