def METHOD_NAME(self):
    if self.operation_performed:
        return self.subsequent_document_id
    new_doc = self.source_document_id.copy()
    new_doc.partner_id = self._subsequent_partner()
    new_doc.company_id = self._subsequent_company()
    new_doc.fiscal_operation_id = self.fiscal_operation_id
    new_doc.document_type_id = (
        self.subsequent_operation_id.operation_document_type_id
    )
    new_doc.document_serie_id = new_doc.document_type_id.get_document_serie(
        new_doc.company_id, new_doc.fiscal_operation_id
    )
    # new_doc.condicao_pagamento_id = \
    #     self._subsequent_payment_condition()
    # new_doc.tipo_pagamento = self._subsequent_payment_type()
    #
    # Reference document
    #
    reference_ids = self._subsequent_referenced()
    new_doc._document_reference(reference_ids)
    new_doc._onchange_fiscal_operation_id()
    new_doc.fiscal_line_ids.write(
        {"fiscal_operation_id": new_doc.fiscal_operation_id.id}
    )
    for item in new_doc.fiscal_line_ids:
        item._onchange_fiscal_operation_id()
        item._onchange_fiscal_operation_line_id()
        item._onchange_fiscal_taxes()
    document = new_doc
    document.action_document_confirm()
    self.subsequent_document_id = document