You can inherit base.contact
template to add state_id
field.
<template id="contact" inherit_id="base.contact">
<xpath expr="//address/div[2]/div[2]" position="after">
<div t-if="object.state_id and 'state_id' in fields"
class='css_editable_mode_hidden'>
<div itemprop="state_id" t-esc="object.state_id.name"
style="margin-bottom:4px;font-size:14px;"/>
</div>
</xpath>
</template>
Then to use it in a QWEB report just specify state_id
field in fields
attribute.
<address t-field="o.partner_id" t-field-options="{"widget": "contact", "fields": ["address", "name", "state_id"], "no_marker": true}"/>
I used div[2]/div[2]
to add state_id just after country.