То, как вы это выразили, возвращает желаемый результат; строки # 1 - 9 представляют примеры данных, поэтому код, который вам нужен, начинается со строки № 10.
SQL> with test (invoicenumber, custnb, invoiceid) as
2 (select 1001, 1, 1001 from dual union all
3 select 1002, 2, 1002 from dual union all
4 select 1003, 1, 1003 from dual union all
5 select 1004, 5, 1004 from dual union all
6 select 1005, 2, 1005 from dual union all
7 select 2001, -1, 1001 from dual union all
8 select 2002, -2, 1002 from dual
9 )
10 select count(invoicenumber) invoices,
11 count(custnb) customers
12 from test
13 where custnb > 0
14 and invoicenumber not in (select invoiceid
15 from test
16 where custnb < 0
17 )
18 ;
INVOICES CUSTOMERS
---------- ----------
3 3
SQL>