Not sure how well this would work but maybe you could use a trend binary sensor an automation, and a utility meter with two tariffs (export and import).
This binary sensor should be on when you are importing energy, and off when you are exporting energy:
binary_sensor:
- platform: trend
sensors:
energy_export:
entity_id: sensor.your_net_energy_sensor
max_samples: 2
min_gradient: 0
This utility meter will create two energy sensors, one for import and one for export:
utility_meter:
grid_energy:
source: sensor.your_net_energy_sensor
cycle: daily
net_consumption: true
tariffs:
- import
- export
This automation switches the utility meter tariffs:
trigger:
- platform: state
entity_id: binary_sensor.energy_export
to:
- 'on'
- 'off'
action:
- service: utility_meter.select_tariff
data:
entity_id: utility_meter.grid_energy
tariff: "{{ 'export' if trigger.to_state.state == 'on' else 'import' }}"