This post explains a shell script that creates a formatted ODT without involving a GUI word processor. The script uses LibreOffice Writer to convert an HTML file to an ODT on the command line. The HTML doesn’t have to be up-to-date, either, or use CSS for styling.
Source: LXer – Building an ODT on the command line