Adding "create" button in sales invoice

Hi all,
so I want to add custom create button when submitting sales invoice. i need to add create “delivery trip” but without delivery note.
I already make the custom button, but when i click create delivery trip, it show message like “Delivery Note (sales_invoice_number) not found”. Below i give the code both in .py and .js that i already write
anyone can help? thanks before

py code:

from future import unicode_literals
import frappe
from frappe import _
def set_delivery_trip(sales_invoice):
if not delivery_trip:
delivery_trip = frappe.new_doc(“Delivery Trip”)
sales_invoice = frappe.get_doc(“Sales Invoice”, sales_invoice)
delivery_trip.customer = sales_invoice.customer
delivery_trip.customer_address = sales_invoice.shipping_address
delivery_trip.contact = sales_invoice.contact_person
delivery_trip.customer_contact = sales_invoice.contact_display
delivery_trip.grand_total = sales_invoice.grand_total
return delivery_trip

js code:

frappe.ui.form.on(‘Sales Invoice’, {
refresh: function(frm) {
frm.add_custom_button(__(‘Delivery Trip’), function(){
create_delivery_trip(frm)
}, __(“Create”));
}
});

function create_delivery_trip(frm) {
frappe.call({
method: “document.document.overide.sales_invoice.set_delivery_trip”,
args:{
sales_invoice: frm.doc.name
},
callback: function(r) {
frappe.model.sync(pick_list);
frappe.set_route(‘Form’, sales_invoice.doctype, sales_invoice.name)
}
})

}