SELECT
DQ.DocumentType AS DocumentType,
MAX(P.ID) AS DocID,
MAX(P.Firm_ID) AS Firm_ID,
F.VATIdentNumber AS VATIdentNumber,
MAX(P.VATDate$DATE) AS VATDate$DATE,
MAX(P.DocDate$DATE) AS DocDate$DATE,
SUM(A.LocalTAmountWithoutVAT) AS LocalAmountWithoutVAT,
SUM(A.LocalTAmount) AS LocalAmount,
SUM(A.TAmountWithoutVAT) AS AmountWithoutVAT,
SUM(A.TAmount) AS Amount,
MAX(DQ.Code || '-' || CAST(P.OrdNumber AS VARCHAR(10)) || '/' || PE.Code) AS DocNumber,
MAX(P.VATVoluntaryPaid) AS VATVoluntaryPaid
FROM
ReceivedInvoices2 A
JOIN ReceivedInvoices P ON P.ID=A.Parent_ID
JOIN Firms F on F.ID = P.Firm_ID
JOIN Periods PE ON PE.ID=P.Period_ID
JOIN DocQueues DQ ON DQ.ID=P.DocQueue_ID
WHERE
(P.VATVoluntaryPaid='A')
and (P.VATDate$Date >= {$DATE_FROM} and P.VATDate$Date < {$DATE_TO})
{ANDWHERE}
GROUP BY
F.VATIdentNumber,
P.VATDate$DATE,
DQ.DocumentType,
P.ID
UNION ALL
SELECT
DQ.DocumentType AS DocumentType,
MAX(P.ID) AS DocID,
MAX(P.Firm_ID) AS Firm_ID,
F.VATIdentNumber AS VATIdentNumber,
MAX(P.VATDate$DATE) AS VATDate$DATE,
MAX(P.DocDate$DATE) AS DocDate$DATE,
SUM(A.LocalTAmountWithoutVAT) AS LocalAmountWithoutVAT,
SUM(A.LocalTAmount) AS LocalAmount,
SUM(A.TAmountWithoutVAT) AS AmountWithoutVAT,
SUM(A.TAmount) AS Amount,
MAX(DQ.Code || '-' || CAST(P.OrdNumber AS VARCHAR(10)) || '/' || PE.Code) AS DocNumber,
MAX(P.VATVoluntaryPaid) AS VATVoluntaryPaid
FROM
VATReceivedDInvoices2 A
JOIN VATReceivedDInvoices P ON P.ID=A.Parent_ID
JOIN Firms F on F.ID = P.Firm_ID
JOIN Periods PE ON PE.ID=P.Period_ID
JOIN DocQueues DQ ON DQ.ID=P.DocQueue_ID
WHERE
(P.VATVoluntaryPaid='A')
and (P.VATDate$Date >= {$DATE_FROM} and P.VATDate$Date < {$DATE_TO})
{ANDWHERE}
GROUP BY
F.VATIdentNumber,
P.VATDate$DATE,
DQ.DocumentType,
P.ID
UNION ALL
SELECT
DQ.DocumentType AS DocumentType,
MAX(P.ID) AS DocID,
MAX(P.Firm_ID) AS Firm_ID,
F.VATIdentNumber AS VATIdentNumber,
MAX(P.VATDate$DATE) AS VATDate$DATE,
MAX(P.DocDate$DATE) AS DocDate$DATE,
SUM(A.LocalTAmountWithoutVAT) AS LocalAmountWithoutVAT,
SUM(A.LocalTAmount) AS LocalAmount,
SUM(A.TAmountWithoutVAT) AS AmountWithoutVAT,
SUM(A.TAmount) AS Amount,
MAX(DQ.Code || '-' || CAST(P.OrdNumber AS VARCHAR(10)) || '/' || PE.Code) AS DocNumber,
MAX(P.VATVoluntaryPaid) AS VATVoluntaryPaid
FROM
CashPaid2 A
JOIN CashPaid P ON P.ID=A.Parent_ID
JOIN Firms F on F.ID = P.Firm_ID
JOIN Periods PE ON PE.ID=P.Period_ID
JOIN DocQueues DQ ON DQ.ID=P.DocQueue_ID
WHERE
(P.VATVoluntaryPaid='A')
and (P.VATDate$Date >= {$DATE_FROM} and P.VATDate$Date < {$DATE_TO})
{ANDWHERE}
GROUP BY
F.VATIdentNumber,
P.VATDate$DATE,
DQ.DocumentType,
P.ID
UNION ALL
SELECT
DQ.DocumentType AS DocumentType,
MAX(P.ID) AS DocID,
MAX(P.Firm_ID) AS Firm_ID,
F.VATIdentNumber AS VATIdentNumber,
MAX(P.VATDate$DATE) AS VATDate$DATE,
MAX(P.DocDate$DATE) AS DocDate$DATE,
SUM(A.LocalTAmountWithoutVAT) AS LocalAmountWithoutVAT,
SUM(A.LocalTAmount) AS LocalAmount,
SUM(A.TAmountWithoutVAT) AS AmountWithoutVAT,
SUM(A.TAmount) AS Amount,
MAX(DQ.Code || '-' || CAST(P.OrdNumber AS VARCHAR(10)) || '/' || PE.Code) AS DocNumber,
MAX(P.VATVoluntaryPaid) AS VATVoluntaryPaid
FROM
OtherExpenses2 A
JOIN OtherExpenses P ON P.ID=A.Parent_ID
JOIN Firms F on F.ID = P.Firm_ID
JOIN Periods PE ON PE.ID=P.Period_ID
JOIN DocQueues DQ ON DQ.ID=P.DocQueue_ID
WHERE
(P.VATVoluntaryPaid='A')
and (P.VATDate$Date >= {$DATE_FROM} and P.VATDate$Date < {$DATE_TO})
{ANDWHERE}
GROUP BY
F.VATIdentNumber,
P.VATDate$DATE,
DQ.DocumentType,
P.ID
ORDER BY 4,5,1,2