SELECT  io.issued, 
        c.socialName, 
        c.street postalAddress, 
        IF (ios.taxAreaFk IS NOT NULL, CONCAT(cty.code, c.fi), c.fi) fi, 
        io.clientFk,
        c.postcode, 
        c.city, 
        io.companyFk,
        io.ref,
        tc.code,  
        s.concept, 
        s.quantity, 
        s.price, 
        s.discount, 
        s.ticketFk, 
        t.shipped,
        t.refFk, 
        a.nickname, 
        s.itemFk,
        s.id saleFk,
        pm.name AS pmname,
        sa.iban,
        c.phone, 
        MAX(t.packages) packages,
        a.incotermsFk,
        ic.name incotermsName ,
        sub.description weight,
        t.observations, 
        ca.fiscalName customsAgentName,
        ca.street customsAgentStreet,
        ca.nif customsAgentNif,
        ca.phone customsAgentPhone,
        ca.email customsAgentEmail, 
        CAST(sub2.volume AS DECIMAL (10,2)) volume,
	        sub3.intrastat
    FROM vn.invoiceOut io
        JOIN vn.supplier su ON su.id = io.companyFk
        JOIN vn.client c ON c.id = io.clientFk
        LEFT JOIN vn.province p ON p.id = c.provinceFk
        JOIN vn.ticket t ON t.refFk = io.ref
        LEFT JOIN (SELECT tob.ticketFk,tob.description
                        FROM vn.ticketObservation tob
                            LEFT JOIN vn.observationType ot ON ot.id = tob.observationTypeFk 
                        WHERE  ot.description = "Peso Aduana"
                  )sub ON sub.ticketFk = t.id
        JOIN vn.address a ON a.id = t.addressFk
        LEFT JOIN vn.incoterms ic ON ic.code = a.incotermsFk
        LEFT JOIN vn.customsAgent ca ON ca.id = a.customsAgentFk
        JOIN vn.sale s ON s.ticketFk = t.id
        JOIN (SELECT SUM(volume) volume
                        FROM vn.invoiceOut io 
                            JOIN vn.ticket t ON t.refFk = io.ref
                            JOIN vn.saleVolume sv ON sv.ticketFk = t.id 
                        WHERE io.id = :invoiceId
             )sub2 ON TRUE  
        JOIN vn.itemTaxCountry itc ON itc.countryFk = su.countryFk AND itc.itemFk = s.itemFk
        JOIN vn.taxClass tc ON tc.id = itc.taxClassFk
        LEFT JOIN vn.invoiceOutSerial ios ON ios.code = io.serial AND ios.taxAreaFk = 'CEE'
        JOIN vn.country cty ON cty.id = c.countryFk
        JOIN vn.payMethod pm ON pm.id = c .payMethodFk
        JOIN vn.company co ON co.id=io.companyFk
        JOIN vn.supplierAccount sa ON sa.id=co.supplierAccountFk
        LEFT JOIN (SELECT GROUP_CONCAT(DISTINCT ir.description ORDER BY ir.description SEPARATOR  '.  ' ) as intrastat
                            FROM vn.ticket t 
                                JOIN vn.invoiceOut io ON io.ref = t.refFk
                                JOIN vn.sale s ON t.id = s.ticketFk
                                JOIN vn.item i ON i.id = s.itemFk   
                                JOIN vn.intrastat ir ON ir.id = i.intrastatFk 
							WHERE io.id  = :invoiceId
                  )sub3 ON TRUE
	WHERE io.id = :invoiceId