When a client now cancels an appointment via the client portal the system will remove the service that is attached to the appointment. This will ensure that an invoice is not attached to the cancelled appointment.
These events will be recorded in the history log for the appointment with the following entry "Appointment invoice was deleted due to the client cancelling in the client portal.".
You can view the appointment log by clicking on the appointment and under Actions selecting 'Show Log'.