Quarterly report pursuant to Section 13 or 15(d)

Segment and Geographic Information - Schedule of (Loss) Income from Operations by Reporting Segments (Details)

v3.20.1
Segment and Geographic Information - Schedule of (Loss) Income from Operations by Reporting Segments (Details) - USD ($)
3 Months Ended
Mar. 31, 2020
Mar. 31, 2019
Segment Reporting Reconciling Item For Operating Profit Loss From Segment To Consolidated [Line Items]    
Revenue $ 13,359,637 $ 10,057,899
Cost of revenues (9,963,950) (7,646,277)
Gross profit $ 3,395,687 $ 2,411,622
Gross margin % 25.40% 24.00%
Total operating expenses $ 4,906,841 $ 4,443,830
Loss from operations (1,511,154) (2,032,208)
OSS Segment    
Segment Reporting Reconciling Item For Operating Profit Loss From Segment To Consolidated [Line Items]    
Revenue 7,818,278 5,230,086
Cost of revenues (5,621,751) (3,729,173)
Gross profit $ 2,196,527 $ 1,500,913
Gross margin % 28.10% 28.70%
Total operating expenses $ 3,530,278 $ 3,137,869
Loss from operations (1,333,751) (1,636,956)
CDI Segment    
Segment Reporting Reconciling Item For Operating Profit Loss From Segment To Consolidated [Line Items]    
Revenue 621,946 299,454
Cost of revenues (499,158) (345,727)
Gross profit $ 122,788 $ (46,273)
Gross margin % 19.70% (15.50%)
Total operating expenses $ 455,931 $ 312,977
Loss from operations (333,143) (359,250)
Bressner Segment    
Segment Reporting Reconciling Item For Operating Profit Loss From Segment To Consolidated [Line Items]    
Revenue 4,919,413 4,528,359
Cost of revenues (3,843,041) (3,571,377)
Gross profit $ 1,076,372 $ 956,982
Gross margin % 21.90% 21.10%
Total operating expenses $ 920,632 $ 992,984
Loss from operations $ 155,740 $ (36,002)