Compare commits

...

2 Commits

Author SHA1 Message Date
d7c3554db9 Merge b5f067d3a9 into 03eb7adece 2024-12-03 23:14:12 -05:00
b5f067d3a9 feat: don't require all fields for invoice booking.
simplify field requirements and allow for a more flexible invoice
generation.
2024-06-15 21:41:00 +02:00
8 changed files with 1 additions and 29 deletions

View File

@ -3,8 +3,6 @@
"invoice_number": "No.",
"issued_at": "Issued at: ",
"due_at": "Due at:",
"late_fee": "Late fee:",
"add_late_fee": "Add late fee",
"modal_issued_at_title": "Issued at",
"modal_due_at_title": "Due at"
}

View File

@ -16,7 +16,6 @@
"website": "Website"
},
"invoicing": {
"invoice_late_fee": "Late fee (%)",
"invoice_due_days": "Payment terms, days",
"currency": "Default currency"
},

View File

@ -37,13 +37,7 @@
:inline="true"
field="due_at"/>
</BModal>
<br>{{ $t('late_fee') }}
<AppEditable :value="invoice.late_fee | currency"
:errors="errors"
suffix="%"
field="late_fee"
:placeholder="$t('add_late_fee')"
@change="updateProp({ late_fee: $event })"/>
</div>
</template>
<script>

View File

@ -38,10 +38,6 @@
<b-tab :title="$t('tabs.invoicing')">
<div class="row">
<AppInput :value="team.invoice_late_fee" @change="updateProp({ invoice_late_fee: $event })"
type="number"
:label="$t('invoicing.invoice_late_fee')" field="invoice_late_fee" :errors="errors"
class="col-12"/>
<AppInput :value="team.invoice_due_days" @change="updateProp({ invoice_due_days: $event })"
type="number"
:label="$t('invoicing.invoice_due_days')" field="invoice_due_days" :errors="errors"

View File

@ -19,7 +19,6 @@ class InvoiceService {
async updateInvoice(invoice) {
const requiredFields = {
currency: 'Currency',
late_fee: 'Late Fee',
issued_at: 'Issued At',
due_at: 'Due At',
number: 'Number',
@ -40,25 +39,15 @@ class InvoiceService {
async bookInvoice(invoice) {
const requiredFields = {
currency: 'Currency',
late_fee: 'Late fee',
issued_at: 'Issued at',
due_at: 'Due at',
number: 'Number',
client_id: 'Client',
client_name: 'Client name',
client_address: 'Address',
client_postal_code: 'Postal code',
client_city: 'City',
client_email: 'Client\'s email',
client_country: 'Country',
from_name: 'Name',
from_address: 'Address',
from_postal_code: 'Postal code',
from_country: 'Country',
from_city: 'City',
from_website: 'Website',
from_email: 'Your email',
from_phone: 'Your phone',
bank_name: 'Bank name',
bank_account_no: 'Bank account details',
rows: {

View File

@ -90,7 +90,6 @@ export default {
},
async updateTeam({ dispatch }, payload) {
const teamProps = pick(payload.props, {
late_fee: 'invoice_late_fee',
from_name: 'company_name',
from_address: 'company_address',
from_postal_code: 'company_postal_code',
@ -180,7 +179,6 @@ export default {
.add(team.invoice_due_days || 14, 'days')
.format('YYYY-MM-DD'),
number: generateInvoiceNumber(getters.all),
late_fee: team.invoice_late_fee || 0.5,
currency: team.currency || 'USD',
};

View File

@ -17,7 +17,6 @@ export default class Invoice extends Model {
issued_at: this.attr(''),
is_compact: this.attr(false),
due_at: this.attr(''),
late_fee: this.attr(''),
currency: this.attr(''),
from_name: this.attr(''),
from_address: this.attr(''),

View File

@ -31,7 +31,6 @@ export default class Team extends Model {
contact_email: this.attr(''),
contact_phone: this.attr(''),
currency: this.attr(null),
invoice_late_fee: this.attr(null),
invoice_due_days: this.attr(null),
fields: this.hasMany(TeamField, 'team_id'),
updated_at: this.attr(''),