Try installing the unmanaged package by Salesforce Labs called Simple Quote/Invoice/Order. You can utilize it to create custom quotes (doesn't use the Quote object) by creating a PDF you can send to your customer. It's available on the App Exchange or from their repository on GitHub if you want to customize it.
Using the below code helped create a record:
Quote quote = new Quote();
Can you try this
The same way you set any other field, really.
Fields like BillingAddress and ShippingAddress are compound fields.
Compound fields are accessible as a single, structured field, or as individual component fields. The values contained within the compound field and the values in individual fields both map to the same underlying data stored in Salesforce; they ...
The create PDF of Quote is generated based on the fields in the object and so this change must be made at field level. And it looks like it is not possible to change the date format to DD/MMM(with letters)/YYYY at field level from out of the box functionalities. There is a salesforce Idea for the same.
However, you can try the workaround as below:
You would ...
Effective quantity used in computing totals. Same as quantity unless the product is block-priced or covered by the Slab discount schedule, or an existing subscription.
For amendment quotes, this field is equal to (Quantity) - (Prior Quantity).