diff --git a/lib/data/models/invoice_model.dart b/lib/data/models/invoice_model.dart index 7b015cd98..520ef3ff5 100644 --- a/lib/data/models/invoice_model.dart +++ b/lib/data/models/invoice_model.dart @@ -1233,6 +1233,8 @@ abstract class InvoiceEntity extends Object bool get isRecurring => [EntityType.recurringInvoice].contains(entityType); + bool get isLinkedToRecurring => (recurringId ?? '').isNotEmpty; + bool get hasExchangeRate => exchangeRate != 1 && exchangeRate != 0; EmailTemplate get emailTemplate => isPurchaseOrder diff --git a/lib/ui/invoice/edit/invoice_edit_desktop.dart b/lib/ui/invoice/edit/invoice_edit_desktop.dart index e6fd8f8d7..797c306bd 100644 --- a/lib/ui/invoice/edit/invoice_edit_desktop.dart +++ b/lib/ui/invoice/edit/invoice_edit_desktop.dart @@ -806,40 +806,51 @@ class InvoiceEditDesktopState extends State children: [ if (company.hasTaxes) Expanded( - child: SwitchListTile( - dense: true, - activeColor: Theme.of(context) - .colorScheme - .secondary, - title: Text(localization - .inclusiveTaxes), - value: invoice - .usesInclusiveTaxes, - onChanged: (value) { - viewModel.onChanged( - invoice.rebuild((b) => b - ..usesInclusiveTaxes = - value)); - }, + child: Tooltip( + message: localization + .inclusiveTaxes, + child: SwitchListTile( + dense: true, + activeColor: + Theme.of(context) + .colorScheme + .secondary, + title: Text(localization + .inclusiveTaxes), + value: invoice + .usesInclusiveTaxes, + onChanged: (value) { + viewModel.onChanged(invoice + .rebuild((b) => b + ..usesInclusiveTaxes = + value)); + }, + ), ), ), - if (invoice.isInvoice) + if (invoice.isInvoice && + invoice.isLinkedToRecurring) Expanded( - child: SwitchListTile( - dense: true, - activeColor: Theme.of(context) - .colorScheme - .secondary, - title: Text(localization - .autoBillEnabled), - value: - invoice.autoBillEnabled, - onChanged: (value) { - viewModel.onChanged( - invoice.rebuild((b) => b - ..autoBillEnabled = - value)); - }, + child: Tooltip( + message: localization + .autoBillEnabled, + child: SwitchListTile( + dense: true, + activeColor: + Theme.of(context) + .colorScheme + .secondary, + title: Text(localization + .autoBillEnabled), + value: + invoice.autoBillEnabled, + onChanged: (value) { + viewModel.onChanged(invoice + .rebuild((b) => b + ..autoBillEnabled = + value)); + }, + ), ), ), ],