toXml method

  1. @override
void toXml(
  1. XmlBuilder builder
)
override

Converts the business party's details into XML format.

This XML structure includes the business name, tax ID, address, business ID, and legal entity information. The XML elements generated are:

  • Party identification with the business ID (using the scheme ID).
  • Postal address with street name, building number, subdivision, city, postal zone, and country.
  • Party tax scheme with the company ID (tax ID) and VAT scheme.
  • Party legal entity with the registration name (business name).

Implementation

@override
void toXml(XmlBuilder builder) {
  builder.element('cac:Party', nest: () {
    builder.element('cac:PartyIdentification', nest: () {
      builder.element('cbc:ID',
          nest: businessID, attributes: {'schemeID': schemeID});
    });
    // builder.element('cac:PartyIdentification', nest: () {
    //   builder.element('cbc:ID',
    //       nest: taxId, attributes: {'schemeID': 'VAT'});
    // });
    builder.element('cac:PostalAddress', nest: () {
      builder.element('cbc:StreetName', nest: address);
      builder.element('cbc:BuildingNumber', nest: buildingNumber);
      builder.element('cbc:CitySubdivisionName', nest: citySubdivision);
      builder.element('cbc:CityName', nest: city);
      builder.element('cbc:PostalZone', nest: postalZone);
      builder.element('cac:Country', nest: () {
        builder.element('cbc:IdentificationCode', nest: countryCode);
      });
    });
    builder.element('cac:PartyTaxScheme', nest: () {
      builder.element('cbc:CompanyID', nest: taxId);
      builder.element('cac:TaxScheme', nest: () {
        builder.element('cbc:ID', nest: 'VAT');
      });
    });
    builder.element('cac:PartyLegalEntity', nest: () {
      builder.element('cbc:RegistrationName', nest: name);
    });
  });
}