Tenho esta sentença SQL (Oracle) que detalha as contas mes a mes, vê se te ajuda
SELECT
FILIAL,
CONTACONTABIL,
DESCRICAOCONTA,
ANO,
MES,
(NVL(SUM(VLR_DEB),0) - NVL(SUM(VLR_CRED),0)) AS VALOR
FROM ( SELECT
CLANCA.CODFILIAL AS FILIAL,
CCONTA.CODCONTA AS CONTACONTABIL,
CCONTA.DESCRICAO AS DESCRICAOCONTA,
TO_CHAR(CLANCA.DATA,'YYYY') AS ANO,
TO_CHAR(CLANCA.DATA,'MM') AS MES,
(SELECT
SUM(CLANCA_CR.VALOR)
FROM CLANCA CLANCA_CR
WHERE CLANCA_CR.CODCOLIGADA = 1 AND CLANCA_CR.LCTREF = CLANCA.LCTREF AND CLANCA_CR.CREDITO LIKE '4.1.0%' AND CLANCA_CR.CREDITO = CCONTA.CODCONTA) AS VLR_CRED,
(SELECT
SUM(CLANCA_DB.VALOR)
FROM CLANCA CLANCA_DB
WHERE CLANCA_DB.CODCOLIGADA = 1 AND CLANCA_DB.LCTREF = CLANCA.LCTREF AND CLANCA_DB.DEBITO LIKE '4.1.0%' AND CLANCA_DB.DEBITO = CCONTA.CODCONTA) AS VLR_DEB
FROM CLANCA, CCONTA
WHERE CLANCA.CODCOLIGADA = CCONTA.CODCOLIGADA AND ((CCONTA.CODCONTA = CLANCA.CREDITO) OR (CCONTA.CODCONTA = CLANCA.DEBITO)) AND CCONTA.CODCONTA LIKE '4.1.0%' AND CLANCA.CODLOTE <> 0
)
GROUP BY FILIAL, CONTACONTABIL, DESCRICAOCONTA, ANO, MES
ORDER BY CONTACONTABIL
abraços
Rô