You can try overriding Javascript like this.
odoo.define('account.invoice_tree', function (require) {
"use strict";
var ListController = require("web.ListController");
var includeDict = {
renderButtons: function () {
this._super.apply(this, arguments);
if (this.modelName === "account.invoice") {
this.$buttons.find('button.o_button_upload_bill').hide();
}
}
};
ListController.include(includeDict);
});
and be sure to include your script in the assets list:
<script type="text/javascript" src="/hr_account/static/src/js/invoice_tree.js"></script>
This will hide the button. In my example, it was the upload button on the invoice.